htop과 /proc/meminfo의 값 차이

htop과 /proc/meminfo의 값 차이

htops 작성자의 답변 https://stackoverflow.com/questions/41224738/how-to-calculate-system-memory-usage-from-proc-meminfo-like-htop/41251290#41251290

htop의 총 메모리는 /proc/meminfo를 기반으로 계산된다는 것을 알고 있습니다. 코드에서도 교차 확인하고 확인할 수 있다고 생각했습니다. 그러나 htop의 메모리 스틱과 비교됩니다. /proc/meminfo에 표시된 메모리 값에서 상당한 차이를 발견했습니다.

내 /proc/meminfo에 메모리 소비가 표시됩니다.

MemTotal:       4144807288 kB
MemFree:        3513532764 kB
MemAvailable:   3936769368 kB
Buffers:         1119392 kB

따라서 메모리 스틱으로 표시되는 총 사용 메모리는 MemTotal-MemFree(GB 단위)여야 한다고 생각하며, 제가 아는 한 이는 (4144807288-3513532764)/1024^2=602Gb여야 합니다. 그러나 나에게 이 값은 거의 180Gb로 표시됩니다. /proc/meminfo와 htop의 값이 어떻게 달라지는지 설명할 수 있는 사람이 있나요? 여기에 이미지 설명을 입력하세요.

답변1

이 값들이 다른 이유는 다음과 같을 것으로 추측됩니다.

htop "180G" 값에는 /proc/meminfo가 할당된 것으로 보고하는 운영 체제에서 사용하는 시스템 버퍼 및 기타 메모리가 포함되지 않습니다.

파기https://github.com/htop-dev/htop/blob/541c17c975bc8a4f1f243e568006b0e26ae52c47/linux/LinuxMachine.c#L130htop 값이 계산되는 방법을 이해하는 데 도움이 될 수 있습니다.

관련 정보