Memory
從 CLI 讀取人類可讀的系統記憶體?
在 OS X 上,我得到了一個很好的人類可讀的系統記憶體讀取,如下所示:
printf -v system_memory \ "$(system_profiler SPHardwareDataType \ | awk -F ': ' '/^ +Memory: /{print $2}')" echo "$system_memory"
列印出友好的:
4 GB
儘管這在 Linux 上是正確的:
lshw -class memory
它輸出:
size: 4096MiB
我需要痛苦地解析它並嘗試把它變成一個和上面一樣好的字元串。
我使用了錯誤的命令嗎?
如果這就是您所需要的,只需使用
free
:$ free -h | gawk '/Mem:/{print $2}' 7.8G
free
返回記憶體資訊,-h
開關告訴它以人類可讀的格式列印。
在 Linux 上,
read x memtotal x < /proc/meminfo
$memory
將以 kiB 為單位儲存總記憶體量。這是 Linux 可用的記憶體量,與free
.如果您想要安裝的 RAM,您可以執行以下操作:
awk '{s+=$0};END{print s}' /sys/bus/mc*/devices/dimm*/size
以 MiB 為單位獲取大小。或者
awk '{s+=$0};END{printf "%.2gG\n", s/1024}' /sys/bus/mc*/devices/dimm*/size
如果你想要 GiB 的大小。