VMwareゲストOSの時間がおかしい問題

Turion64 MT-34はCool’n Quietをサポートしており、K8MM-Vもサポートしているっぽいから、BIOSでCnQをonにしてFC5をインストールしてみた。すると何の問題もなくCnQは機能している(っぽい)。パネルに「CPU周波数の計測モニタ」を追加してみたら、ものの見事に800MHz、1.60GHz、1.80GHzとCPU負荷が高まると周波数も上がっていく。

なかなか大したものだ、と思っていたら、やけにVMware Server上のWindows 2000ゲストの時間が早いことに気が付いた。大体リアルタイムの1秒に対してWindows 2000ゲスト上では2秒くらい経過する。

どうやらこの問題はここここで書かれているように、色々とホストとゲストで時計が狂う原因があるようだ。今回はどうやら2つ目の記事に書かれているように、VMwareがまだCPUのパワーセービング機能(CnQとか、IntelのSpeed Stepとか)に対応していないからのようである。Turion MT-34だとCPU周波数を800MHzだと思ってしまうらしい。よって、フルスピードの1.8GHzになると2倍強ほど早く時計が回ってしまう。

同じ記事にその回避方法が書いてあるので実行してみた。/etc/vmware/configというファイルに host.cpukHz = 1800000
host.noTSC = TRUE
ptsc.noTSC = TRUE
を追加するだけ。configファイルが存在しない人は上の3行だけを含むファイルを作ればいい、とのこと。

上記設定の1800000は1.8GHzのことで、パワーセービングしない、フル回転時のCPU周波数をkHz単位で記述する。この設定を行ったあとでVMwareを起動してみると確かに時計が狂う問題は解決されたかのように見える。でも、今度はCPUがCnQのおかげで800MHzにスローダウンするとゲストOS上のクロックもスローダウンしてしまう。要するにVMware上のゲストOSは、ダイナミックに変化するパワーセービング機能つきCPUの周波数に追従できないことがわかった。

今のところCPUは常に100%状態なので大した問題は発生していないけど、常にCPU周波数が変動する人には迷惑な話だろう。結局現時点ではCnQは無効にして最高速度でCPUを動かすことがベストなのかもしれない。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です