Edited at

nfsもkvmも設定したのにVagrant(VirtualBox)のRailsが本当に遅い!場合の対処案

More than 1 year has passed since last update.


Rails高速化までの道のり

よくあるvagrant高速化設定方法のshared folderにはNFSをつかうとか

modifyvm--paravirtproviderkvmにするとか、VMで使うメモリを増やすとかをやってもまっっっっったく早くならなくて、どれくらい遅いかというとrails sでwebrick起動するまでに10分はかかってました。

PC買い替えも考えるほどでしたが粘って調べ続けた所ようやく解決策まで辿りつくことに...


解決策

結論から言うとVirtualBoxでゲストマシンに割り当てる「プロセッサー数」の設定値を最大でも ホストマシンの持っているコア数-1にするということです。デュアルコアなら1、クアッドコアなら3です。

ちなみにvagrantからだと

config.vm.provider "virtualbox" do |vb|

vb.cpus = "ここの数値"
end

で設定する部分です。

当方数年前のMacbook pro 13インチを使用していますが13インチのモデルは最新のものでもデュアルコアなので、プロセッサー数は1となります。

これで私の場合はrails sが1分かからないくらいになりましたとさ


余談

Rails4の場合はプロセッサー数が2でもそこまで遅くなかった気がするのですが

Rails5にしてから先述のようにサーバー起動に10分というとんでもない遅さになりました、原因は不明です...

また、Railsの話をしましたが別にRailsに限った話ではないと思われるので、お悩みの際はぜひ一度試してみてください


参考

システム設定 | VirtualBox Mania

「ホストマシンの持っているコア数-1」の設定が良いというのが書いてありました