현재 우리가 처한 불행한 상황은 역사적으로 RAM을 로컬 VM에 과도하게 프로비저닝해 왔으며 호스트 OOM을 유발할 수 있는 정오 급증으로 인해 실제 사용량의 한계에 도달하기 시작했다는 것입니다. 현재 VMware의 벌룬 드라이버가 시작되어 캐시에서 RAM을 회수하는 것을 볼 수 있지만 일부 애플리케이션은 이 특정 무딘 도구(즉, Elasticsearch)에 민감하여 oom-killer가 트리거됩니다.
나는 오래된 비활성 페이지가 어떤 종류의 경합으로 인해 캐시에서 제외될 때까지 캐시에 머무르는 대신 일정 시간이 지나면 캐시에서 제거되도록 하는 조정 가능 항목을 찾고 있었습니다. RHEL 5는 적어도 캐시가 소비할 수 있는 전체 공간의 비율을 정의해야 했던 것처럼 보이지만 /proc/sys/vm/pagecache
이는 RHEL 6에서도 계속되지 않았습니다. 비율 접근 방식이 "나쁜 냄새"가 나기 때문에 별로 놀랍지 않습니다. 이미 min_free_kb
동일한 Target 접근 방식이 구현되어 있지만 더 좋습니다.
어딘가에서 놓친 "캐시 만료" 조정 가능 항목이 있습니까? 아니면 공격적이지 않은 캐시를 지우는 다른 방법이 있습니까 sync; echo 1 > /proc/sys/vm/drop_caches
?
참고로 나도 알아진짜해결책은 "메모리를 적게 사용" 및/또는 "메모리를 더 확보"하는 것입니다. 이러한 경고는 매우 크게 울리지만 비즈니스에서는 조치 과정을 승인하는 데 시간이 걸리므로 그 동안 어떻게든 이 작업을 수행하여 이 문제를 해결해야 합니다.