运行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
.
.
.
...
答案 0 :(得分:29)
htop作者在这里。这些是我为获取内存表中绿色,蓝色和黄色条的数字而进行的计算:
MemTotal
- MemFree
Buffers
Cached
+ SReclaimable
- Shmem
SwapTotal
- SwapFree
在htop源代码中:linux/LinuxProcessList.c和linux/Platform.c。