自宅のPCでは、32bit Windows XP上でVMware Server 2.0を常時動作させておるわけですが、メモリが不足気味です。そりゃぁね、Windowsは3.12GBしか認識してくれませんから。
解決のために、64bit Windowsへの変更を検討していましたが、手間が多くて面倒だし、一部ソフトには移行できないリスクもあるし、お金もかかります。そんな折、「32bit Windowsに認識されないメモリ領域を、RAMディスクとして利用し、ページファイルを配置する」方法をネットで発見。これなら最小の手間で、swapによる性能劣化を抑制できるかと。"Gavotte Ramdisk"で検索すると多数ヒットするので、そこそこ実績もありそうです。
で、やってみました。
[1] メモリ増設
Optiplex 745には4つのmemory socketがあります。現在は、2GBのDDR2が2枚ささっています。これに、1GBのDDR2を2枚、追加しました。手元に余ってましたから。
挿して起動すると、BIOS画面で「6.0 GB」と表示され、無事Windows XPが起動しました。成功です。
しかし、「システムのプロパティ」を視ると、以前は"3.12 GB RAM"と表示されていた部分が、"2.99 GB RAM"になっていました。メモリを追加したのに、OSが認識するメモリ容量は減っちゃってますね。。。(^^;;
[2] Gavotte Ramdisk で RAM disk 作成
Gavotte_Ramdisk_1.0.4096.4.rar をDownloadして解凍。実行ファイルにPATHを通す。まず、ram4g.reg をregistryに反映させてから、ramdisk.exe を実行。そのまま、「Install Ramdisk」ボタン、「OK」ボタンを順に押す。すると、2.99GBのRドライブができた! おぉ!
README.TXT の記述に従って、「FORMAT /FS:NTFS /Q /V:RamDisk /A:512 R:」「CHKDSK /L:2048 R:」を順に実行。「CACLS R:\ /G: BUILTIN\Adminstrators:F」は実行しなかった。NTFSのセキュリティ設定は既存の方がよいと判断した。
「ユーザー環境変数で指定するTEMPフォルダ」「Firefox用のCacheフォルダ」「IE用のTemporary Internet Filesフォルダ」をRドライブ内に手動で作成後、そのフォルダ構成を「rdutil R: registry」コマンドでregistryに保管。これで、OSを再起動しても、ファイルシステム・フォルダ構成が維持されるようになった。
ちなみに、pack sizeが大きくなりregistry保管に失敗する場合は、formatからやり直し。別ドライブで作成したフォルダ構成をRドライブにコピーするようにするといいかも。
[3] Rドライブ利用設定
ユーザー環境変数「TEMP」「TMP」でRドライブのフォルダを指定。Firefoxの about:config 画面でRドライブのCacheフォルダを指定。インターネットオプションでインターネット一時ファイルを保管するフォルダとして、Rドライブのフォルダを指定。
そして、仮想メモリ pagefiles.sysをRドライブに配置した。2048MB固定サイズとした。TEMPフォルダのために1GB程度残しておく。
さてさて、効果は……。 まず、Webブラウザのブラウジングが体感できるほど早くなった。そして、当初の目的通り、3GB以上のメモリを消費し、swap状態になっても、物理HDDのアクセスランプは点かず、処理遅延が確認できない。素晴らしい!これは素晴らしいぞ!!!
余談だが、Gavotte RamdiskよりもVSuite Ramdiskが速いという報告もあるようだ。でもまぁ、これで満足してるから、VSuite Ramdiskは次に機会があったら考えよう。