OpenSUSE 42.3, 커널 4.4.175-89 - 기본값
메모리 대역폭을 많이 사용하는 애플리케이션을 실행하는 동안 다음 동작을 알게 되었습니다. 애플리케이션이 노드가 2개인 NUMA 시스템의 물리적 메모리의 약 55%를 사용했습니다. 애플리케이션은 병렬화를 위해 OpenMP를 사용하지만 NUMA를 고려하지 않습니다. 따라서 꽤 좋은 실행 속도를 달성하기 위해 페이지 마이그레이션에 의존합니다.
약 180번의 반복에서 다음을 사용하여 수동으로 캐시를 지웠습니다.
# echo 3 >| /proc/sys/vm/drop_caches
그 결과 성능이 즉각적으로 향상됩니다. 캐시를 수동으로 지울 때까지 시스템이 페이지를 제대로 마이그레이션하지 못하는 이유는 무엇입니까?