如何从/proc/meminfo(如htop)计算系统内存使用情况
如何从/proc/meminfo(如htop)计算系统内存使用情况
运行htop
命令可以给你展示内存使用情况的图片,格式如下:
1.92G/5.83G
问题:我该如何解释从/proc/meminfo
中获取的值,以便可以编程计算内存使用情况?
我正在寻找类似于这个问题:Linux中给出的CPU使用率的准确计算方法?,意味着伪代码可以,我不需要能编译的东西,只需要逻辑。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 . . . ...
admin 更改状态以发布 2023年5月22日
htop的作者在这里。这些是我用来获取内存仪表中绿色、蓝色和黄色条形的数字的计算:
- 总使用内存 =
MemTotal
-MemFree
- 非缓存/缓冲内存 (绿色) = 总使用内存 - (Buffers + Cached memory)
- 缓冲 (蓝色) =
Buffers
- 缓存内存 (黄色) =
Cached
+SReclaimable
-Shmem
- 交换 =
SwapTotal
-SwapFree
在htop的源代码中: linux/LinuxProcessList.c和linux/Platform.c。