我想知道是否有一种简单的方法来确定Linux中“使用”内存的数量。特别是,内核和应用程序主动使用的内存,不计算缓冲区和缓存内存。我正在寻找类似于Window在任务管理器中找到的已用内存的报告(你看到使用的内存百分比)。
到目前为止,我能想到的最接近的解决方案来自此链接:Determining Free Memory on Linux
在我的Ubuntu 13.0.4上,执行cat /proc/meminfo
,
然后我计算100-(((MemFree+Buffers+Cached)/MemTotal)*100)
,它应该给出“利用”记忆的百分比。
这是我发现获得物理内存百分比的最接近的方式,就像在窗口的任务管理器中找到的那样。
这看起来像是一种有效的方法吗?如果是这样,是否有更直接的方法?
答案 0 :(得分:4)
您可以使用AWK解析free命令的输出,并获得百分比。
free | grep Mem | awk '{print $4/$2 * 100}'
答案 1 :(得分:2)
我是free -m
total used free shared buffers cached
Mem: 1446 1172 273 0 225 821
-/+ buffers/cache: 126 1320
Swap: 1471 0 1471
答案 2 :(得分:0)
这将以更加人性化的方式向您展示记忆统计数据:
sar -r 0