성능 테스트에서 Linux 시스템의 캐시 (페이지 캐시 / 노드 캐시 등)의 영향을 무시하고 싶습니다.
O_DIRECT 플래그를 시도했지만 직접 I / O가 여전히 일부 캐시의 영향을 “즐길”것으로 판명되었습니다.
시스템 캐시의 영향을 완전히 없애는 방법이 있습니까?
답변
(실제로 떨어집니다.) sync
먼저 실행 한 다음
무료 페이지 캐시 :
echo 1 > /proc/sys/vm/drop_caches
무료 치열과 아이 노드 :
echo 2 > /proc/sys/vm/drop_caches
무료 페이지 캐시, 덴 트리 및 아이 노드 :
echo 3 > /proc/sys/vm/drop_caches
그러면 클린 캐시로 시작할 수 있지만 캐싱은 여전히 작동합니다.
답변
아니요, 캐시를 무시할 수 없습니다. 그러나 추가 시스템 호출 fsync (3)를 사용하여 파일 시스템 동기화 (캐시를 지우고 디스크에 데이터 쓰기)를 강제 실행할 수 있습니다.
인사말, CK