나는 약 하루 후에(때때로 더 빨리) 모든 스왑 공간을 모두 사용하는 Debian VM을 가지고 있습니다(따라서 zabbix가 나를 괴롭힙니다). swappiness
으로 설정했지만 0
조금 느려질지라도 여전히 이 작업을 수행합니다.
가장 흥미로운 점은 프로세스의 스왑 사용량을 나열하면(상위별 또는 기준별로)스크립트) 그리고 이를 합산하면 보고서에 사용된 1022MB 대신 약 55MB만 얻게 됩니다 free
.
개별 프로세스의 합산된 스왑 사용량과 보고된 총 스왑 사용량이 일치하지 않는 이유는 무엇입니까?
운영 체제: 데비안 10.11
리눅스: 4.19.0-18-amd64
답변1
top
교환은 매우 신뢰할 수 없는 추정 합계 /proc
필드 VmSwap
(링크 스크립트에서 사용되는 필드)를 사용합니다.
실제 스왑 사용량을 합리적으로 추정하려면 다음을 살펴봐야 합니다 /proc/…/smaps
.smem
당신을 위해 이것을 할 수 있습니다예를 들어
sudo smem -s swap -r|head
상위 거래소 사용자가 표시됩니다.
sudo smem -t
할당된 총 스왑 금액( 으로 계산 smaps
)은 하단 요약 줄에 표시됩니다.
이것도 정확하지 않을 수 있지만 더 나은 결과를 제공할 것입니다. 스왑은 여러 번 계산될 수 있으며, 이 경우 요약 줄에서 과도하게 계산되고 스왑의 항목이 단일 프로세스에 할당되지 않은 것이 분명합니다(예를 들어교환 tmpfs
), 이 경우 저평가됩니다.