パソコントラブル出張修理・サポート日記 http://orbit.cocolog-nifty.com/supportdiary/2007/09/post_804e.html
> 2007年9月24日 (月)
> メモリを増設したのに速くならない。
(魚拓)
ストレージエグゾーション ストレージエクゾーション (virtual storage exhaustion)という現象のようです。
通常、
仮想メモリ容量最大値 = 実メモリ容量 + スワップファイル容量(ページングファイル容量)
ですが、Windows の場合、unix 系とは異なり、スワップファイルの容量を指定するのではなく、仮想メモリ全体の容量を指定する仕組みのため、このような不具合が起きてきます。
この例では、実メモリ 768MB を積んでいるにもかかわらず、仮想メモリ 382MB となっているため、実メモリの半分は使われておらず、それ故スワッピング(ページング)も発生していないと思われます。
但し、プログラムとデータの 実I/O は必ず発生しているはずです。
一度にメモリへ読み込みきれないわけですから。そのせいで遅くなります。
仮想メモリのサイズを「システム管理」サイズに設定すると、結果として仮想メモリ最低容量は、おそらく 1.1 GB ( 実メモリ 768MB + スワップ 384MB ) 程度になるのではないかと想像します。
「カスタム」サイズに設定するなら、最低 1.1GB 、最大 2.3GB 程度にすると良いのではないかと思います。
実メモリ 1GB なら、最低 1.5GB 、最大 3GB 程度でしょうか。
この例で、敢えてカスタム設定にしていた理由は、ページングファイルのフラグメンテーション(断片化)によるパフォーマンス低下を防ぎたい、ということだと思います。= デフラグも楽になります。
(おまけ)
real storage exhaustion と云う現象もあります。
FIFOなスワッピング/ページング管理をしているシステムにおいてシーケンシャルアクセスなデータ処理を行う場合、データ量が実メモリ容量をたった1ページ超えただけでも、必ずスワップアウトとスワップインが一組で発生してしまい、仮想メモリのスワッピング/ページング処理による I/O 負荷で遅くなってしまうと云う現象です。
※ ランダムアクセスなデータ処理の場合は、「イン・メモリなデータに当たらない」確率が「実メモリ容量を超えた分の1ページ内にあるデータに当たる」確率に等しいと考えられるので、全体としてスワップの発生する確率はシーケンシャル処理に比べて大変低くなります。
通常、スワッピング/ページングが発生しないことは(スワップI/Oが発生しないので I/O 負荷が低く)良いことだ、と考えられてますが、それは仮想メモリが充分な場合であって、仮想メモリが足りないが故に、プログラムとデータの実 I/O (非スワップな通常の I/O) が発生していればそれは当然遅いでしょう、ということですね。
いじょうです。
-
- -