确定Linux中的“免费”内存

时间:2014-03-04 15:01:42

标签: linux ubuntu memory-management

我想知道是否有一种简单的方法来确定Linux中“使用”内存的数量。特别是,内核和应用程序主动使用的内存,不计算缓冲区和缓存内存。我正在寻找类似于Window在任务管理器中找到的已用内存的报告(你看到使用的内存百分比)。

到目前为止,我能想到的最接近的解决方案来自此链接:Determining Free Memory on Linux

在我的Ubuntu 13.0.4上,执行cat /proc/meminfo, 然后我计算100-(((MemFree+Buffers+Cached)/MemTotal)*100),它应该给出“利用”记忆的百分比。

这是我发现获得物理内存百分比的最接近的方式,就像在窗口的任务管理器中找到的那样。

这看起来像是一种有效的方法吗?如果是这样,是否有更直接的方法?

3 个答案:

答案 0 :(得分:4)

您可以使用AWK解析free命令的输出,并获得百分比。

free | grep Mem | awk '{print $4/$2 * 100}'

Linux command for percentage of memory that is free

答案 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