사전 캐시된 파일 시스템의 파일 목록

사전 캐시된 파일 시스템의 파일 목록

ext4 파일 시스템에서 파일 및 디렉터리 목록이 어디에, 어떤 형식으로 저장되어 있는지 알고 싶습니다. 문제는 Nautilus, Krusader 또는 파일 관리자를 통해 디렉토리를 시작한 후 처음으로 디렉토리에 액세스하려고 할 때마다 매우 느리게 나타날 수 있다는 것입니다. 내 하드 드라이브에 액세스하는 것을 보니 이것이 느린 하드 드라이브로 인해 발생했다고 가정합니다. 그래서 부팅 시 시스템의 전체 파일 목록을 미리 캐싱하고 RAM 캐시에 저장하여 시스템이 실행되는 동안 언로드되지 않도록 할 생각입니다(제 경우에는 Ubuntu 14.04).

전체 파일 시스템의 파일 및 디렉터리 목록을 캐시에 미리 캐시하고 보관할 수 있습니까?

vmtouch로 하면 될 것 같은데, 목표가 무엇인지 모르겠네요.

답변1

실제로 파일 목록을 스캔하는 중인데 속도가 느립니다. 다음과 같이 해야 합니다.

find /home >/dev/null &

즉, 파일을 /home. 아마도 그만한 가치가 없을 것입니다.

답변2

디렉터리를 표시하려면 이러한 파일 관리자는 최소한 디렉터리에서 파일 이름 목록과 파일 형식, 기타 메타데이터를 검색해야 합니다. 이것들은 동일한 호출입니다 ls -l. 또한 유틸리티와 같은 일부 파일 관리자는 파일 내용을 검사하여 파일 내용에 대한 보다 정확한 정보를 제공할 수 있습니다 file. 또한 특정 파일 형식(예: 이미지)에 대한 미리 보기를 구축하고 아이콘이 번들로 포함된 여러 파일 형식에서 아이콘을 추출하려고 시도할 수도 있습니다.

속도가 너무 느리다면 더 적은 정보를 표시하도록 구성해 보세요.

파일 이름과 메타데이터를 미리 읽으려면 다음을 실행하세요.

find ~ -type f >/dev/null

파일의 시작 부분보다 먼저 읽으려면 다음을 실행하십시오.

find ~ -exec file {} + >/dev/null

나는 이것을 권장하지 않습니다. 이 작업은 시간이 오래 걸리고 결코 사용되지 않을 많은 정보를 메모리에 저장합니다(오늘은 모든 파일에 액세스할 수 없기 때문입니다). 운영 체제 캐싱 알고리즘을 추측하는 것은 종종 비생산적입니다.

관련 정보