그래서 나는 많은 수의 파일(파일 시스템의 현재 노드 수를 기준으로 2498329)을 가지고 있으며, 이 파일에서 .iso를 만들려고 하면 mkisofs에 메모리가 부족하고 시스템을 스왑으로 푸시하고 그러면 파일도 부족해집니다. mkisofs가 메모리 소비를 줄이도록 할 수 있는 방법이 있나요? ISO를 만든 이유는 파일을 배포하고 싶었지만 사람들이 기존 파일 시스템에 추출한 아카이브를 통해 250만 개의 파일을 사람들에게 던질 수 없었기 때문입니다(적어도 ext3에서는 inode 소진의 심각한 위험이 있을 수 있음). ) 그래서 ISO 파일이 Linux, Windows 및 Mac OS X에 쉽게 마운트될 수 있다고 생각했습니다.
편집: --no-cache-inodes를 시도했습니다. 도움이 될 수도 있고 그렇지 않을 수도 있지만 초기 스캔 중에 메모리 사용량이 여전히 1G 이상으로 급증했습니다.
답변1
이 -no-cache-inodes
옵션을 사용해 보세요. 기본값은 하드 링크 감지를 위해 inode를 캐시하는 것이지만 그렇지 않은 경우 일부 메모리가 절약됩니다.
답변2
-no-cache-inodes 옵션을 사용하지 마십시오.
Mkisofs는 메모리 집약적이지 않습니다. 메모리를 많이 사용하는 2004년 코드를 기반으로 한 잘못된 mkisofs 변종의 피해자일 수 있습니다. 2006년에는 mkisofs의 많은 버그가 수정되었으므로 최신 버전을 사용하시기 바랍니다.
방금 시도했는데 최신 mkisofs가 약을 소비했습니다. 630,000개의 파일을 수용할 수 있는 Rock Ridge를 생성하려면 400MB의 메모리가 필요하며, Rock Ridge를 사용하지 않을 때는 약 80MB의 메모리가 필요합니다. Rock Ridge를 사용하는 경우 2.5M 파일에는 1.6G의 메모리가 필요합니다. Rock Ridge를 사용하지 않는 경우 400M 미만이 필요합니다. 이것은 당신의 기계에 너무 많은가요?