如何将/ proc / meminfo显示为兆字节

时间:2015-04-23 00:16:14

标签: shell unix

我要感谢你帮助我解决我的相关问题。我知道如果我做一个cat / proc / meminfo它只会以kb显示我怎么能以mb显示?我真的很想用cat或awk。

2 个答案:

答案 0 :(得分:21)

这会将所有kB行转换为MB

awk '$3=="kB"{$2=$2/1024;$3="MB"} 1' /proc/meminfo | column -t

此版本转换为千兆字节:

awk '$3=="kB"{$2=$2/1024**2;$3="GB";} 1' /proc/meminfo | column -t

为完整起见,这将适当地转换为MB或GB:

awk '$3=="kB"{if ($2>1024**2){$2=$2/1024**2;$3="GB";} else if ($2>1024){$2=$2/1024;$3="MB";}} 1' /proc/meminfo | column -t

答案 1 :(得分:0)

用于存储以MB为单位的内存量的单行bash条目。 这适用于MemTotal,但适用于其他MemFree。

MEM_TOTAL_MB=`awk '/MemTotal/ {printf( "%d\n", $2 / 1024 )}' /proc/meminfo`

注意:

使用反引号(`)和单引号(')。

如果要显示为精度为2位小数的浮点数,请用“%.2f”替换“%d”。