如何从Vagrant虚拟机中获取准确的总内存数值
提取Vagrant虚拟机基础内存数值的方法
嗨,我来帮你搞定这个需求!要提取虚拟机里的基础内存数值(比如你提到的11800),有几个简单直接的Linux命令可以实现,下面给你分享几个实用方案:
使用
free命令(最常用)free是Linux系统查看内存的标准工具,配合awk过滤可以直接拿到总内存数值:free -m | awk '/Mem:/ {print $2}'解释:
free -m以MB为单位输出内存信息,awk会定位到包含Mem:的行,然后打印该行的第二列——也就是总内存的纯数字,刚好符合你要的11800格式。读取
/proc/meminfo虚拟文件
Linux系统的内存详情都存在/proc/meminfo这个虚拟文件里,同样用awk就能提取:awk '/MemTotal/ {print $2}' /proc/meminfo | awk '{print int($1/1024)}'解释:
MemTotal行的数值默认是KB单位,后面的awk会把它转换成MB单位,输出的结果就是你需要的整数格式(比如11800)。主机直接执行获取(无需进虚拟机)
如果不想登录虚拟机,也可以在主机上用Vagrant命令远程执行提取:vagrant ssh -c "free -m | awk '/Mem:/ {print \$2}'"注意这里的
\$2要加转义符,避免被主机的Shell解析,执行后会直接返回虚拟机的总内存数值。
这些命令都能输出纯数字结果,完全满足你的要求,你可以根据自己的使用场景选择最合适的一个~
内容的提问来源于stack exchange,提问作者praveen pattar
相关产品推荐
相关产品推荐

