ソフト開発グループ「Finath(ファイナス)」のホームページ

WindowsXP SP2で
メモリを多く(1.0GBより多く)積むと休止状態に
失敗する
ことがある
※2006/01/25追記。メモリ1.4GB以上で失敗と書いていましたが
メモリが1.0GBより多いと失敗することが確認できました。
◆問題

WindowsXPの「休止状態」機能は、起動も終了も速く安定していて、とても便利な機能です。ですが、メモリを多く(1.0GBより多く)搭載したパソコンでは、休止状態へ入れず失敗するケースがあります。

もともと1GB以上のメモリを積むと、SP1,SP2を入れていないWindowsXPでは、休止状態に失敗する不具合がありました。これは、SP1以降で修正されているのですが、さらに多くメモリを積んだ場合に、休止状態への移行に失敗する(何%かの確率で、休止状態へ入れずに戻ってしまう)不具合があるようです。

いろいろ試行錯誤してテストしてみたところ、ひとつ再現性が見つかりました。どうやら「Windowsが推奨する仮想メモリファイルの大きさ」が2048MBを越えている場合に、休止状態への移行に失敗することがあるようです。(「Windowsが推奨する仮想メモリファイルの大きさ」は、メモリ搭載量の約1.5倍です)


◆対処方法(現状での妥協策)

仮想メモリファイルが原因なら、仮想メモリ(ページングファイル)を無くしてしまえばいいかというと、それは通用しませんでした。(仮想メモリをゼロに設定しても、実際には、必要に応じてWindowsが勝手に仮想メモリファイルを作る仕組みになっているためだと思われます)

となると、「Windowsが推奨する仮想メモリファイルの大きさ」が2048MBを越えさせないようにしなければなりません。それには、パソコンに差すメモリを減らすしかありません。(うぉー、こんなことは誰でも考え付く方法だ!)。それに、せっかくのメモリが押入れの中で眠ることになってしまいますし、2枚を1枚に減らした場合には、シングルチャネル動作になり速度も低下してしまいます。

そこで、「メモリを差したままWindowsの使用メモリを減らす方法」を使います。これは簡単で、システムドライブにある「boot.ini」に「/maxmem=xxxx」(xxxxはメモリ容量。MB単位)という記述を追加して再起動すればOKです。
例.multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /maxmem=1360

「Windowsが推奨する仮想メモリファイルの大きさ」は、メモリ搭載量の約1.5倍になります。これが2048MB以下になればいいのですから、ギリギリまで詰めて試したところ「メモリ1360MB」で、「Windowsが推奨する仮想メモリファイルの大きさ」が2038MBというほぼベストな状態を見つけました。

ですので、上の例のように、「boot.ini」ファイルをテキストエディタで開いて、XPの起動設定の行に 「/maxmem=1360」と追加して、再起動してやると「搭載メモリ1360MB」の状態でXPが起動できるようになりました。

2.0GBに比べると、1.32GB(1360MB)に減ってしまったわけで、少し残念ですが、ほとんどの使用状態(私の使い方の場合)では、パフォーマンスに大きな体感差は出ません。逆に、休止状態が100%成功するようになったことで、使い勝手は大幅に上がり(っつーか、もともとの安定した環境に戻った)ました。メモリの速度も、ちゃんとデュアルチャネル動作になっていてパフォーマンスも出ています。


◆おしまいに

結局、休止状態を満足に使いたい場合は、最初から「512MBx2枚(デュアル1GB)」のメモリだけを購入するのが、一番お得です。ただ、1GBと1.32GBとでは、私の使い方の場合、わりとパフォーマンスの差(開発ソフトや、複数アプリの起動時間など)がありました。

ということでいろいろやってみましたが、マイクロソフトが修正パッチを出してくれれば、万事解決なわけです。ネット上でも同様に困っていた人を見かけましたので、もう報告がいっているかもしれないですが、折を見て、私もマイクロソフトにメールしてみたいと思います。

それから、蛇足ですが、Athlon64のマザーボードで「両面にチップがついているメモリ」を4枚差した場合、速度がだいぶ落ちるので、2枚までにしておいたほうが無難です。


◆追記(2006/01/25)

あれから約半年経ちましたが、メモリを1.32GBに制限しても、休止状態を失敗するケースがある(失敗する頻度は低いですが)ことが確認できました。1.00GB(1024MB)まで制限しないと確実ではないようです。

今は、BIOSが更新されて、うちの環境でもスタンバイ(S3)が安定して使えるようになったため、休止状態は使わずに、スタンバイ(S3)を常用しています。

スタンバイには、S3とS1という2種類があって、S1スタンバイでは、電源やケースファンなどが止まってくれずあまり省電力になりません。ですので、S3スタンバイがベストです。BIOSの省電力設定で「S3」を選べばOKです。

Written by Kitao Nakamura.




戻る

 
ご意見・ご感想・苦情などはこちらへ

Copyright(C)1997-2006 Kitao Nakamura.