posix_fadvice / POSIX_FADV_DONTNEED가 Linux에서 작동합니까?

posix_fadvice / POSIX_FADV_DONTNEED가 Linux에서 작동합니까?

큰 파일을 한 번만 스캔하는 경우 페이지 캐시에 미치는 영향을 걱정해야 합니까? 아니면 스캔으로 인해 페이지 캐시가 무의미하게 변동되지 않도록 OS가 주의를 기울여야 합니까? 페이지 캐싱으로 이점을 얻을 수 있는 다른 프로세스에 영향을 주지 않고 싶습니다.

를 사용할 것을 고려했지만 Linux에서 무엇을 해야 할지에 대한 POSIX_FADV_DONTNEED상충되는 조언을 보았습니다 .posix_fadvicePOSIX_FADV_DONTNEED

누군가 명확히 해줄 수 있습니까? 감사합니다.

답변1

POSIX_FADV_DONTNEEDLinux에서는 고려됩니다.mm/fadvise.c커널 소스 코드에서. 호출될 때마다 posix_fadvise()해당 POSIX_FADV_DONTNEED페이지 캐시가 모두 소모됩니다.

~처럼제틸위에서 언급했듯이 I/O가 페이지 캐시에 미치는 영향을 최소화하는 더 좋은 방법은 O_DIRECT.

관련 정보