view raw

Vagrantを使っていると動作が遅くなった時にしたこと

Vagrantを起動するとファンが高速回転をして動作が遅くなる現象が続いていたので
解決した時の手順のメモ

原因

アクティビティモニタを見ると

VboxHeadlessというプロセスのCPU使用率が100%を超えており
それが原因の模様

Vagrantを使用する上では必要なプログラムなので強制終了するわけにはいきません

解決方法

こちらを参考にvagrantfileを少し編集してみました
Vagrantに割り当てるメモリを指定しているようです

config.vm.provider :virtualbox do |vb|
  vb.customize [ 'modifyvm', :id, '--memory', 1024 ]
end

デフォルトでは上記のような記述の箇所に以下のコードをコピペ

  config.vm.provider "virtualbox" do |v|
    host = RbConfig::CONFIG['host_os']

    # Give VM 1/4 system memory 
    if host =~ /darwin/
      # sysctl returns Bytes and we need to convert to MB
      mem = `sysctl -n hw.memsize`.to_i / 1024
    elsif host =~ /linux/
      # meminfo shows KB and we need to convert to MB
      mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i 
    elsif host =~ /mswin|mingw|cygwin/
      # Windows code via https://github.com/rdsubhas/vagrant-faster
      mem = `wmic computersystem Get TotalPhysicalMemory`.split[1].to_i / 1024
    end

    mem = mem / 1024 / 4
    v.customize ["modifyvm", :id, "--memory", mem]
  end

以上で解決しました

他にもDropboxの同期フォルダーが原因でVagrantのパフォーマンスに影響が出たりもするようです
参考にしたサイトのリンクを以下に貼っておきます

参考

Stefan Wrobel - How to make Vagrant performance not suck
VagrantのCPU使用率が100%になったときに対応した内容
VirtualBox の VBoxHeadless を停止する