67

我想使用 Linux 命令行以百分比形式报告可用内存。

我使用了free命令,但这只是给我数字,并且没有百分比选项。

4

1 回答 1

154

使用free命令:

% free
             total       used       free     shared    buffers     cached
Mem:       2061712     490924    1570788          0      60984     220236
-/+ buffers/cache:     209704    1852008
Swap:       587768          0     587768

基于此输出,我们Mem使用 awk 选择特定字段进行计算。

这将报告正在使用的内存百分比

% free | grep Mem | awk '{print $3/$2 * 100.0}'
23.8171

这将报告可用内存的百分比

% free | grep Mem | awk '{print $4/$2 * 100.0}'
76.5013

你可以为这个命令创建一个别名或者把它放到一个小的 shell 脚本中。可以使用 print 语句的格式化命令来根据您的需要定制特定的输出:

free | grep Mem | awk '{ printf("free: %.4f %\n", $4/$2 * 100.0) }'
于 2012-05-14T15:08:09.343 回答