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