我想感谢你帮助我解决我的相关问题.我知道如果我做一个cat/proc/meminfo它只会以kb显示我怎么能以mb显示?我真的很想为此使用cat或awk.
Joh*_*024 23
这会将任何kB
行转换为MB
:
awk '$3=="kB"{$2=$2/1024;$3="MB"} 1' /proc/meminfo | column -t
Run Code Online (Sandbox Code Playgroud)
此版本转换为千兆字节:
awk '$3=="kB"{$2=$2/1024^2;$3="GB";} 1' /proc/meminfo | column -t
Run Code Online (Sandbox Code Playgroud)
为完整起见,这将根据需要转换为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
Run Code Online (Sandbox Code Playgroud)
您可以使用该numfmt
工具
$ cat /proc/meminfo | numfmt --field 2 --from-unit=Ki --to-unit=Mi | sed 's/ kB/M/g'
MemTotal: 128692M
MemFree: 17759M
MemAvailable: 119792M
Buffers: 9724M
...
$ cat /proc/meminfo | numfmt --field 2 --from-unit=Ki --to=iec | sed 's/ kB//g'
MemTotal: 126G
MemFree: 18G
MemAvailable: 118G
Buffers: 9.5G
...
$ cat /proc/meminfo | numfmt --field 2 --from-unit=Ki --to-unit=Gi | sed 's/ kB/G/g'
MemTotal: 126G
MemFree: 18G
MemAvailable: 117G
Buffers: 10G
...
Run Code Online (Sandbox Code Playgroud)