我正在尝试获取 SUN SPARC 远程服务器的当前(不是平均)可用内存大小,但我没有使用free -m
命令或的权限prtconf
。因此,我使用了命令vmstat 2
,结果是 kthr 内存页面磁盘故障 cpu
r b w swap free re mf pi po fr de sr vc vc vc vc in sy cs us sy id
0 0 0 46981864 20824288 311 416 51 1 1 0 0 27 6 0 18 16070 33290 17580 12 2 87
0 0 0 45534984 9138264 127 405 0 0 0 0 0 0 0 0 32 17427 45040 20877 25 2 73
0 0 0 45534984 9138072 208 510 0 0 0 0 0 7 0 0 0 14544 35758 17416 23 2 75
0 0 0 45534984 9138072 96 324 0 0 0 0 0 0 0 0 63 6443 11683 5701 11 1 89
结果vmstat| awk '{print $5}'
是 20824288,这是平均值而不是当前值,那么如何获取实际值?
答案1
您可以使用如下命令:
vmstat 1 3|tail -1 |awk '{print $5}'
想法是执行vmstat
3次(第一次执行从系统启动时获取平均值),获取最后一行并提取可用内存值。
答案2
我建议使用 top 的输出:
top | awk '/free mem$/{print $5}'
输出(示例):
3201M