【发布时间】:2017-05-04 15:09:32
【问题描述】:
运行htop 命令会以如下格式显示内存使用情况:
1.92G/5.83G
问题:我应该如何解释取自 /proc/meminfo 的值以便以编程方式计算使用的内存?
我正在寻找类似的东西:Accurate calculation of CPU usage given in percentage 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
.
.
.
...
【问题讨论】:
-
这取决于您想要的图片有多准确。对于您引用的
1.92G/5.83G统计信息,只需将前两行中的数字从 kB 转换为 GB(即除以 1024*1024)......其余的大部分行只是对当前内容的细分使用基于它的使用方式,是否被修改,以及其他一些特征...... -
嗨@twalberg,感谢您的回复。所以你提出类似 [MemUsed] = [MemTotal] - [MemAvailable] 的建议?
-
我并没有真正提出任何建议,因为尚不清楚您实际上在寻找什么样的“图片”。这可能是一个合理的估计,但并不准确 - Linux(或任何重要的操作系统,就此而言)中的内存核算很复杂,不容易简化为两个变量的方程式......
-
free 命令转储与 /proc/meminfo 相同。