只要是Linux,通过软件仓库(yum、apt-get等)安装dmidecode,不管虚拟机、物理机,执行如下命令即可得出准确的内存原始容量信息。


内存大于1G执行

#awk加入四舍五入的初衷是部分国产云虚机分配4G实际为3.99G,
#做了四舍五入,vmware不用四舍五入都是准确的。或者直接执行小于1G的那条命令

dmidecode|grep -P -A5 "Memory Device" |grep Size | grep -v No | awk '{sum+=$2} END {printf "%.0fG\n",sum/1024}'


内存小于1G或者不喜欢四舍五入处理,想要得出实际使用的容量,执行

dmidecode|grep -P -A5 "Memory Device" |grep Size | grep -v No | awk '{sum+=$2} END {print sum "M"}'