20

运行该htop命令会以如下格式显示内存使用情况:

1.92G/5.83G

问题:我应该如何解释取自的值/proc/meminfo以便以编程方式计算使用的内存?

我正在寻找与此类似的内容:Accuratecalculation of CPU usage in percent in Linux? 这意味着伪代码是可以的,我不需要可以编译的东西,只需要逻辑。htop 的源代码是一个可以寻找的地方,但我没有运气发现为此编写的代码行......

$ cat /proc/meminfo 
MemTotal:        6110716 kB
MemFree:         2076448 kB
MemAvailable:    3800944 kB
Buffers:          382240 kB
Cached:          1496216 kB
SwapCached:            0 kB
Active:          2830192 kB
Inactive:         796648 kB
Active(anon):    1749940 kB
Inactive(anon):   109808 kB
Active(file):    1080252 kB
Inactive(file):   686840 kB
Unevictable:          48 kB
.
.
.
...
4

1 回答 1

77

htop 作者在这里。这些是我为获得内存计中绿色、蓝色和黄色条的数字所做的计算:

  • 总使用内存 = MemTotal-MemFree
  • 非缓存/缓冲内存(绿色)= 总使用内存 - (缓冲区 + 缓存内存)
  • 缓冲区(蓝色)=Buffers
  • 缓存内存(黄色)= Cached+ SReclaimable-Shmem
  • 交换 = SwapTotal-SwapFree

在 htop 源代码中:linux/LinuxProcessList.clinux/Platform.c

htop 截图

于 2016-12-20T21:08:37.160 回答