【VirtualBox】 ゲストOSがフリーズする。

我が家ではubuntu上で動作するVirtualBox(4.1.8)でWindowsXPを使用しているのですが、最近なんかやけにフリーズする現象が発生してました。ゲストOSを再インストールしようかと、新しい仮想ディスクを作ってインストール作業をしている最中にもフリーズ。これはディスクやゲストOS側の問題ではないと思い、VirtualBoxのバージョンを上げたり下げたり。

しか〜し、全く状況が改善せず。

発生する問題は以下の通り。

  • WindowsXP(ゲストOS)を起動してしばらくすると(数分〜数十分位)完全にフリーズ。
  • ホスト側のマウスカーソルは動くけど、ボタンを押してもゲスト側は反応せず。
  • ゲストOS側の時計の秒針も停止。
  • Windowsキーでスタートメニューを表示できず。
  • VirtualBoxからALT+CTRL+DELを送るも反応せず。
  • VirtualBoxから仮想マシンの電源断を試みるも反応なし。
  • そもそもOracle VM VirtualBox マネージャーがフリーズし、ホスト側でも操作VirtualBoxの操作ができない。

結局、コンソールから

killall VirtualBox

としてプロセスを強制終了していたのですが、これで終了した場合はホスト側リソースの一部が開放されないようで(恐らくVT-xだと思いますが)、再度VirutalBoxを立ち上げてもゲストOSが起動しません。そんな事を何度も繰り返しているとホスト側の負荷が上がって全く操作ができなくなる始末。

ホスト側のリソースを食いつぶした結果、ホストOS側も動けなくなったという事なのでしょう。VirtualBoxのプロセスを強制終了した場合は必ずホスト側OSの再起動を行う事をお薦めします。

さて、原因が全くわからず困り果てていたのですが、あるとき top コマンドでプロセスのCPU負荷をモニターしていたら powernapd がCPUコア0を専有している時がある事に気づきました。powernapはクラスタ構築時などにアイドルノードのパワーマネージメントを行ったり、WOLをサポートしたりするためのパッケージですが、どうもこいつが悪さをしていそうな予感。もともとWOLのためにインストールしただけなので、パッケージを削除してみたところ、CPU負荷も下がり、安定動作するようになった気がします。まだ経過観察中ですが、同様の症状の方は試してみる価値はありそう。

sudo apt-get purge powernap powernap-common

WOLは別途、以下のように設定しました。

sudo apt-get install ethtool
sudo vi /etc/rc.local

exit 0の上に

/sbin/ethtool -s eth0 wol g

を記述。
/usr/sbin/ethtoolの場合もありますので、"which ethtool"でethtoolのパスを調べてください。

Author: kan
初めてプログラムらしきものを作ったのは幼稚園の時。それから約40年経ち、現在はデジタル回路設計から信号処理、機械学習まで幅広い経験を活かしてシステムアーキテクトとして活動中。超並列処理、デジタル回路とソフトウェアのバランス設計が得意分野。 Linux/Mac/Windows使い。 C/C++を主要言語として、Unity、Qtなどのフレームワーク興味あり。UI/UXデザイン、STL拡張など。 音声処理、画像処理、技術コンサルは仕事でも請け負います。 一般ソフトウェア開発プロセス、医療機器ソフトウェア開発プロセス作成も進行中。