Virtual PC 2007 Windows2000環境高速化等

仮想PC環境にWindows 2000をインストールしましたが、そのまま使っても面白みが無いので色々と弄って高速化させました。
実PC環境にインストールしている方、Windows XP環境を使用している方でも使えるので、参考にしてみてください。

  • RAMディスクの使用

メモリをディスク代わりに使用するRAMディスクを使用して、ページファイルとIEキャッシュをここに入れておく。
RAMディスクはHDDよりも高速で、しかもHDDへのアクセスが減り断片化を防いでくれる効果がある。但し、メモリ容量に余裕がある環境で無いと駄目。自分はWindows2000仮想PC環境に3712MBものメモリを割り当てているので、RAMディスクを割り当てるのには十分過ぎるほどである。
まず、ERAMをダウンロードしてきてインストールする。
導入方法が分からない方はこのサイトをご参考に。
エクスプローラの「ツール」メニューを選択して、「フォルダ オプション」→「表示」タブ→「全てのファイルとフォルダを表示する」にチェック、「保護されたオペレーションシステムファイルを表示しない」のチェックを外す。これでOSをインストールしたドライブ直下にboot.iniというファイルがあることが確認できるはず。
boot.iniを編集して最後尾に「 /MAXMEM=2048」(OSで使用するメモリを2GBに制約)を追記し、ERAMの設定で残りのメモリ容量をRAMディスクに割り当てる。

ERAM設定例
あとはページファイルやキャッシュをRAMディスクに割り当てるだけ。

ページファイル設定例
キャッシュファイルを低速な(仮想)HDDではなく、高速なRAMから読み出すのでWebブラウザでページを開く際のキビキビ感が目に見えて向上する。
TEMPフォルダもRAMディスクに割り当てられるものの、使い捨てで容量指定の出来るページファイルやキャッシュに比べて、再起動時にファイルを求められたり(メモリなので再起動したら消えてしまう)どんどん容量を消費していくTEMPファイルを、RAMディスク上に置いておくのは危険。
メモリを大量に積んでいる人の中には、ページファイル自体OFFにしている方もいますが、ソフトによってはどんなに物理メモリが余っていてもページファイルを要求される(画像編集ソフトやゲームに多い)物もあるので注意が必要です。
また、XP環境の人はページファイルをRAMディスクに指定できないようなので注意。

  • MTUの調整

Windows 2000のデフォルトのMTU値ナロードバンド時代の設定になっており、現在のADSL光ファイバーだとかなり低速になってしまう。
そこでNettuneなどのソフトを使用して、MTU値などを最適化する。

よく分からない人は、左下の「推奨設定」を押せばOK。
デフォルトの状態で測ってみると下り24Mbps、上り9MbpsとホストOS側(Vista 64bit、IE7)で測ったときの下り80Mbps、上り90Mbpsと比べて大幅に遅い。
だが、この設定をするだけで一気に下り55Mbps、上り30Mbpsにまで早くなる。
調整してもホスト側よりも遅いが、Vistaは自動的に最適なMTU値を調整してくれ、仮想PC環境なのでネットワークアダプタ周りにボトルネックが生じている為と思われる。

  • IDEコントローラの設定

HDDや光学ドライブ等の転送モードがDMAモードでなくPIOモードになっている場合がある。
この状態だとDMAモードに比べて何倍も遅いので、デバイスマネージャの「IDE ATA/ATAPIコントローラ」→「プライマリ(セカンダリ)IDEチャネル」を選択して、「詳細設定」タブ内にある転送モードの設定をDMAにしておく。

これでディスクの読み書きが高速化される。


おまけで、Vista 64bit環境と仮想PC上のWindows2000ベンチマークを取ってみました。
マシン環境
CPU:Core 2 Duo E6850 (3.0GHz)
メモリ:DDR2-800 8GB
HDD:500GB 16MBキャッシュ
ビデオ:GeForce 8600GT


Vista上でのCrystalMark2004R3ベンチマーク結果

Mark:127216
ALU :25786
FPU :27222
MEM :16074
HDD :9095
GDI :10093
D2D :8908
OGL :30038


そしてVirtualPC2007仮想PC上で測定したCrystalMark2004R3ベンチマーク結果

Mark:53592
ALU :12859
FPU :15113
MEM :14996
HDD :6434
GDI :1420
D2D :1454
OGL :1316

CPU(ALU、FPU)は半分ほどの処理能力、HDDは7割程度の性能、2D表示(GDI、D2D)は8分の1程度の性能しか出ていないといったところ。実際にはVista上の方が高解像度でテストしているので、表示性能に関しては10倍以上の差がありかも。
3D表示(OGL)がかなり低くなっているが、これは仮想PC上のビデオカードがTrio 32/64(VRAM8MB)というDirect3DOpenGLなどの3D表示に未対応品なので、全てソフトウェアレンダリングしなければならなかったためと思われる。


更にCPU-Zによる仮想PC上のCPUの見えかた

デュアルコアCore 2 Duoだがシングルコアしか認識しない、動作周波数の表示が微妙におかしい(本当なら300X.XMHz、x9.0、33X.XMHz、133X.XMHzになるはず。Xは誤差)。

更にメモリのSPDを診てみると、3GB以上積んでいようが全て16MBモジュールとしか認識しない。


仮想PC環境に約4GB近くものメモリ割り当ててみたけど、8GBもメモリ積んでいればかなり余裕だな。

まだ3GB以上もメモリに空きがある。