最近あんまりやってないけど、ちょっと前に無料のMMORPGにハマったんだが、そんときに感じたこと。
そのゲームは起動中に1GB弱ぐらいのメモリを使うんだが、それを起動してると、他のアプリがほとんどスワップされてしまう。
ゲーム中に、ちょいと抜け出してWEBで調べ物・・・とか思っても、タブブラウザのタブ切り替えて、さっきすでに開いたページを表示するだけでもカリカリカリカリ・・・・。


ちなみにこのメインマシンは2GBのメモリを積んでるわけで、足りないわけじゃない。
なぜだ。なぜメモリが余ってるのにスワップするんだ。

転?
ということで、そもそもスワップファイルのサイズをゼロにしてやってはどうだろうかということでやってみた。
仮想メモリのサイズ


めちゃめちゃ快適。
タスクマネージャで見る限りメモリの使用量なんて、ゲーム起動せずにふつうにWEBとかメールとか使ってて600MB使うかどうかぐらい。そこでさらにDVD焼きながら動画のエンコとかしても700MBほど。ゲームしても1.5GB行かないぐらい。
しかし、WindowsXP搭載マシンて、ふつうメモリ512MBぐらいで、256MBとかもあるわけでしょ。1GB積むだけでふつうに使うにはめちゃめちゃ快適やのに、なんで・・・?
今時のHDDは俺のとは比較にならんぐら速くて、スワップしてもストレス無いとか?
ありえんわー。
メモリいっぱい積んでる人はこれオススメしますよ。
ただし、これでメモリ足らんようになったとき、どーなるか知りませんが。

実験
てことで、メモリ使い切ろうと努力してみた。

WindowsXPのメモリを使い切る実験
目的:スワップゼロのWindowsXPがメモリ不足に陥ったときの挙動を調べる。
実験環境:i865+Northwood3.2GHz+DDR400DualChannel2GB(1GBx2)+WindowsXPproSP2
実験方法:ひたすらIE6を起動させまくる。
実験結果:IEが40個ほど起動したところで、それ以上IEも他のアプリも起動しなくなった。このとき使用メモリは1.2GBで全体の6割程度。
そこで、IEを一つ消して他のアプリを起動すると、一つだけ起動したので3Dのゲームを起動したが、何をしてもギリギリ2GB行くかどうかまでしか増えない(タスクマネージャ調べ)。
下図は、その後さらに悪あがきしたときの画面キャプチャ。
image

考察:この実験はうまくいかなかった。