如何获得在Bash的总物理内存将其分配给一个variables?
我怎样才能得到我的Linux PC的总字节数?
我需要将其分配给一个bash脚本variables。
grep MemTotal /proc/meminfo | awk '{print $2}'
返回的数字以KB为单位
phymem=$(awk -F":" '$1~/MemTotal/{print $2}' /proc/meminfo )
或免费使用
phymem=$(free|awk '/^Mem:/{print $2}')
或使用shell
#!/bin/bash while IFS=":" read -rab do case "$a" in MemTotal*) phymem="$b" esac done <"/proc/meminfo" echo $phymem
怎么样
var=$(free | awk '/^Mem:/{print $2}')
我想出了这个假设,即物理内存将成为空闲输出中的第一个数字:
free -m | grep -oP '\d+' | head -n 1
这允许你自由地configuration你想要的单元输出(-m,-g,…),它独立于系统语言(其他答案取决于空闲输出中的“Mem:”string,可能会根据语言。
傻内联的python版本,看起来过于复杂,但实际上是有用的。
freemem=$(echo -e 'import re\nmatched=re.search(r"^MemTotal:\s+(\d+)",open("/proc/meminfo").read())\nprint(int(matched.groups()[0])/(1024.**2))' | python)
它以GB返回内存。