높은 inode 파티션에서 디렉토리 나열 속도를 높이는 방법은 무엇입니까?

높은 inode 파티션에서 디렉토리 나열 속도를 높이는 방법은 무엇입니까?

한 디렉터리에 거의 7,000개의 파일이 있어서 해당 특정 디렉터리를 로드하는 것이 지루하고 시간이 많이 걸립니다. 파일을 여러 하위 폴더에 분산시키는 것(더 어렵게 만드는)보다 해당 디렉터리의 파일을 더 빠르게 나열하고 작업할 수 있는 방법이 있습니까?

ext4를 사용하고 있습니다. 그러나 efs 파일 시스템에서도 동일한 정보를 받았습니다.

답변1

큰 디렉토리는 단순히 파일을 나열하는 것 이외의 여러 가지 이유로 문제가 될 수 있습니다. 한편, 파일을 찾을 때까지 디렉터리를 읽어야 하기 때문에 이 디렉터리에서 파일을 여는 데 필요한 시간이 늘어납니다. ext*를 포함한 많은 파일 시스템에서 디렉토리 항목은 검색 효율성을 위해 구성되거나 최적화되지 않습니다.

귀하의 특정 질문에 대답하려면 관련 정렬로 인해 ls를 사용하는 데 시간이 걸린다는 것을 알게 될 것입니다. 해결책은 ls를 정렬되지 않은 상태로 실행하는 것입니다(ls 배포판에 그러한 옵션이 있는 경우). 특히 파일 정렬을 해제하고 정렬할 수도 있습니다. 그런 다음 다른 ls 작업을 수행하지 않고도 파일을 참조할 수 있습니다.

또 다른 유사한 접근 방식은 find 명령을 사용하여 디렉토리 내용을 파일에 나열하고(파일은 정렬되지 않음) 거기에서 이동하는 것입니다.

따라서 접근성, 효율성 및 파일 찾기 용이성을 기반으로 여러 하위 디렉터리를 사용하는 것이 좋습니다.

관련 정보