처음 디렉토리에 사용했을 때는 find <dir> -depth
꽤 시간이 걸렸지만 다음번에는 다른 패턴을 검색할 때도 빠른 것 같았습니다.
왜 그런 겁니까? 더 나은 성능을 달성하기 위해 이 동작을 추가로 활용할 수 있습니까?
답변1
명령을 처음 입력하면 find
운영 체제는 디스크에서 하위 디렉터리 정보를 얻어야 합니다. 동일한 명령을 두 번째로 입력하면 캐시에서 데이터를 더 빠르게 가져올 수 있습니다.
다른 패턴을 사용하여 출력을 필터링하면 find
일부 항목만 패턴과 일치하더라도 각 디렉터리를 완전히 읽습니다. 그러면 캐시는 다른 모드에 필요한 정보로 채워집니다.
그러나 시스템을 한동안 사용하면 캐시 메모리가 다른 용도로 사용될 수 있습니다. 그런 다음 동일한 find
명령으로 디스크에서 데이터를 다시 가져와야 할 수 있으며 처음처럼 느려질 수 있습니다. 캐시 재사용 위험을 제한하려면 메모리를 추가해야 합니다.