Cat、less、more、head tail 等尝试了所有我知道的选项。找不到如何以兆字节而不是 kB 为单位列出内存。
答案1
找不到如何以兆字节而不是千字节为单位列出内存。
这会将所有
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
答案2
在bash
,你可以这样做
#! /bin/bash
kb-to-mb()
{
echo $1" "$(( $2 / 1024))" "MB
}
exec < /proc/meminfo
while read a b c
do
if [ o$c = "okB" ]
then
kb-to-mb $a $b $c
else
echo $a $b $c
kb-to-mb $a $b $c
fi
done | column -t