如果运行vmstat -s,它将显示有关系统的统计信息。我想知道它如何计算used memory统计数据(下面突出显示)。这不是我在/proc/meminfo中可以找到的统计数据。
user@machine:# vmstat -s
7483816 K total memory
**4740624 K used memory**
3619096 K active memory
800388 K inactive memory
2743192 K free memory
220624 K buffer memory
1989008 K swap cache
901116 K total swap
0 K used swap
901116 K free swap *snip*vmstat是如何获得这些数据的?
发布于 2016-11-30 15:29:20
vmstat从/proc/meminfo和/proc/vmstat获取虚拟内存统计数据,从/proc/stat获取与处理器相关的信息:
% strace -fe open vmstat -s
...
open("/proc/meminfo", O_RDONLY) = 3
open("/proc/stat", O_RDONLY) = 4
open("/proc/vmstat", O_RDONLY) = 5
...对于已使用的内存,来自https://gitlab.com/procps-ng/procps/blob/master/proc/sysinfo.c#L772:
if (mem_used < 0)
mem_used = kb_main_total - kb_main_free;
kb_main_used = (unsigned long)mem_used;https://unix.stackexchange.com/questions/327105
复制相似问题