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単位)でなければならないと思います。しかし、私にとっては、この値はほぼ180 Gbで表示されます。 /proc/meminfoとhtopの値がどのように異なるかを説明できる人はいますか? ここに画像の説明を入力してください。

答え1

これらの値が異なる理由は、次のように推測されます。

htop "180G"の値には、/proc/meminfoが割り当てられていると報告するオペレーティングシステムによって使用されるシステムバッファやその他のメモリは含まれません。

破棄https://github.com/htop-dev/htop/blob/541c17c975bc8a4f1f243e568006b0e26ae52c47/linux/LinuxMachine.c#L130htop値の計算方法を理解するのに役立ちます。

関連情報