加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Vagrant – 如何检测Windows主机RAM和CPU

发布时间:2020-12-14 05:44:56 所属栏目:Windows 来源:网络整理
导读:我希望我的vagrantfile根据主机规格自动设置CPU和RAM. 我找到了这个片段: config.vm.provider "virtualbox" do |v| host = RbConfig::CONFIG['host_os'] # Give VM 1/4 system memory access to all cpu cores on the host if host =~ /darwin/ cpus = `sys
我希望我的vagrantfile根据主机规格自动设置CPU和RAM.

我找到了这个片段:

config.vm.provider "virtualbox" do |v|
      host = RbConfig::CONFIG['host_os']
      # Give VM 1/4 system memory & access to all cpu cores on the host
      if host =~ /darwin/
        cpus = `sysctl -n hw.ncpu`.to_i
        # sysctl returns Bytes and we need to convert to MB
        mem = `sysctl -n hw.memsize`.to_i / 1024 / 1024 / 4
      elsif host =~ /linux/
        cpus = `nproc`.to_i
        # meminfo shows KB and we need to convert to MB
        mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i / 1024 / 4
      else # sorry Windows folks,I can't help you
        cpus = 2
        mem = 1024
      end

      v.customize ["modifyvm",:id,"--memory",mem]
      v.customize ["modifyvm","--cpus",cpus]
end

但是它没有Windows(它设置默认值2和1024).

任何人都有任何线索如何做到这一点?

解决方法

我设法把它想象成我们并将其整合到 Git repo中.

代码:

cpus = `wmic cpu get NumberOfCores`.split("n")[2].to_i
mem = `wmic OS get TotalVisibleMemorySize`.split("n")[2].to_i / 1024 /4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读