Neu*_*ino 61
grep MemTotal /proc/meminfo | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
返回的数字以KB为单位
gho*_*g74 21
phymem=$(awk -F":" '$1~/MemTotal/{print $2}' /proc/meminfo )
Run Code Online (Sandbox Code Playgroud)
或免费使用
phymem=$(free|awk '/^Mem:/{print $2}')
Run Code Online (Sandbox Code Playgroud)
或使用shell
#!/bin/bash
while IFS=":" read -r a b
do
case "$a" in
MemTotal*) phymem="$b"
esac
done <"/proc/meminfo"
echo $phymem
Run Code Online (Sandbox Code Playgroud)
我假设物理内存将是free的输出中的第一个数字,我想出了这个:
free -m | grep -oP '\d+' | head -n 1
Run Code Online (Sandbox Code Playgroud)
这允许你配置free来输出你想要的单位(-m,-g,...)并且它独立于系统语言(其他答案取决于free的输出中的"Mem:"字符串,它可能会根据语言.