저는 내 openvz 컨테이너 중 하나에서 매우 이상한 문제가 있습니다. top, htop, free 및 openvz 도구에 의해보고 된 메모리 사용량은 할당 된 10GB 중 ~ 4GB 정도 인 것으로 보입니다.openvz 컨테이너에서 메모리 돼지를 찾을 수 없습니다.
내가 메모리 사용량에 따라 프로세스를 나열하거나 ps_mem.py 스크립트를 사용하면 메모리 사용량이 800MB 밖에되지 않습니다. 비슷하게, htop에서 프로세스 목록을 탐색 할 때, 나는 메모리 hogging 위반자를 정확히 찾아 낼 수 없다.
분명히 내 컨테이너에 램을 새는 프로세스가 있지만 중요한 레벨에 도달하고 해당 컨테이너 (ssh, init 및 셸 제외)의 모든 항목을 중지하더라도 램을 다시 회수 할 수는 없습니다. 컨테이너를 다시 시작하면 도움이됩니다. 그렇지 않으면 결국 OOM이 컨테이너에서 시작됩니다.
나는 누출 된 프로세스가 죽을 때 모든 RAM을 해제하고 상단 또는 유사한 도구를 통해 오작동을 볼 수 있다는 전제하에있었습니다.
누구나 이런 행동을 경험 한 적이 있다면 어떤 힌트에 감사 할 것입니다. 컨테이너는 icinga2를 실행 중입니다. (누출 램이 의심됩니다.) 대부분의 시간에 모니터링 프로세스가 유휴 상태에 있지만, 예정된 모든 검사를 적시에 수행 할 수 있기 때문에 - 램 사용량이 줄어들 것을 기대합니다. 그 시간. 그것은하지 않습니다.
나는 그것을 알아 냈다. - openvz는 dcache라고 불리는 것을 가지고있다. 성장과 성장하지만 궁극적으로 많은 양의 숫양이 소요되어 OOM 살인자가 컨테이너 안에서 미쳐 버리기 시작합니다. 컨테이너를 고정 된 dcache 크기로 재구성했고 팬텀 메모리 사용을 전혀하지 않았습니다. 나는 이것이 왜 이렇게 잘못 될지 전혀 모른다. – kovalsky