必要とは?/ アットローン
[ 57] Windows TIPS -- TIPS:必要メモリ・サイズを見極める
[引用サイト] http://www.atmarkit.co.jp/fwin2k/win2ktips/166memoryusage/memoryusage.html
アプリケーションのパフォーマンスを最大限に引き出すには、アプリケーションやシステム全体がすべて物理メモリに入るように、十分な量のメモリを用意するのが望ましい。 Windows 2000やWindows XPなどの仮想記憶システムを採用したOSでは、システムに物理的に装着されているメモリ量を超えるような、大きなプログラムや多数のプログラムを同時に実行することができる。物理メモリが足りない場合は、メモリに入りきらない部分をディスクへ書き出しておき、必要に応じてメモリ上へ読み出してきて(と同時に、他の必要性の少ない部分をディスク上へ書き出して)、実行を続ける。これを繰り返すことにより、少ないメモリでも大容量のメモリがある場合と同じようにプログラムの実行を続けることができる。 このようなパフォーマンスの低下を避けるには、十分な量のメモリをシステムに装着すればよい。だが実際にはどのぐらいの量のメモリがあればよいのだろうか? これを知るには、各プログラムやOSカーネル自体で使用されるメモリの量を調べる必要がある。そして、仮想記憶に伴うページのスワップが発生しない程度にメモリを十分搭載すれば、プログラムの性能を最大限に引き出すことができる。 なおメモリを増設すれば、スワップの発生を抑えることで、システムの性能低下を回避することはできるが、それ自体はシステムを高速化する効果はない。さらに速度を上げるには、CPUの高速化など別の手段が必要である。このように必要以上のメモリを用意してもあまりメリットはないのだが、Windows NTやWindows 2000、Windows XPでは、プログラムやカーネル自身で使用されない、余った部分の物理メモリは「システム・キャッシュ」として利用されることになっている。これは、OSが行うファイルの読み書きなどをキャッシュしておいて、低速なディスクへのアクセスをなるべく減らすというメカニズムである。プログラムやカーネルで必要な量のメモリのほかに、100M〜200Mbytes程度(この程度で十分だろう)余分にメモリを用意すると、ファイル入出力などのシステムのパフォーマンスを向上させることができる。 使用中のメモリ空間。アプリケーションやカーネルなどで使用している(必要としている)メモリ空間の総サイズ。この値が物理メモリのサイズを超えていると、入りきらない部分がディスクへスワップ・アウトされていることになる。ページ・ファイルのサイズについては「Windows TIPS:最適なページ・ファイル・サイズを知るには」も参照のこと。 利用可能なメモリ空間サイズの最大制限値。物理メモリ・サイズ+ページ・ファイル・サイズになっている。ページ・ファイル・サイズのデフォルト値は物理メモリ・サイズの1.5倍なので、合計で物理メモリ・サイズの2.5倍まで増やすことができる。ページ・ファイル・サイズをより大きなサイズにすることもできるが、スワップ・イン、スワップ・アウトによるパフォーマンス低下が大きくなるので、メモリを増設する方が望ましい。 の使用中のサイズのピーク値。この値は物理メモリのサイズを大きく超えていると、スワップが多発していることを示す。せいぜい物理メモリ・サイズの2倍以内になるように、メモリを増設した方がよいだろう。 プログラムやOSカーネル、システム・キャッシュなどに利用されていない、空き物理メモリのサイズ。必要に応じてプログラムやシステム・キャッシュなどのために利用される。 システム・キャッシュに利用されている物理メモリのサイズ。このサイズは空きメモリ・サイズに応じて動的に変化する。空きメモリが多ければキャッシュ・サイズも大きくなるが、空きメモリ領域が少なくなってくるとキャッシュのサイズも縮小する。とでは一部重複している部分があるので、その合計は物理メモリ・サイズを上回ることがある。 ページ・プールと非ページ・プールのサイズ。ページ・プールとは、カーネル・コードのうち、スワップ・アウトの対象となる部分のこと。空きメモリ領域が少なくなるとカーネルの一部であってもディスクへスワップアウトされる。非ページ・プールとは、カーネル・コードのうち、常に物理的なメモリ上に存在していて、スワップ・アウトの対象とならない部分のこと。割り込み処理ルーチンなどのように、スワップ・アウトされては困るようなコードが含まれている。 メモリの全般的な使用量を把握するには、(Windows XPでは)[PF使用量]というグラフの値を調べる(Windows 2000では[メモリ使用量]となっている)。この値は、システム内で稼動しているOS自身やアプリケーションが必要としているメモリの総量を表している(この値は、下の方にある[コミット チャージ]の「合計」の値を分かりやすくグラフにしたもの)。当然ながら、同時に使用するアプリケーションの数が多ければ多いほど、そして各アプリケーションで使用するメモリのサイズが増えれば増えるほど、この使用量の値も大きくなる。 各プログラムごとに正確にどの程度のメモリを必要としているかを知るには、タスク・マネージャの[プロセス]タブを使用する。ここには、システム内で動作しているすべてのプロセスの名称と、そのメモリ使用量などが表示されているので、各アプリケーションで実際にどの程度のメモリが必要なのかを簡単に知ることができる。 これを使えば、各プロセスごとのメモリ使用量を正確に求めることができる。ただしシステム・キャッシュ領域などは含まれないので、これらの値をすべて加算しても、先の「メモリ使用量」の値にはならない。 これがIEが使用しているメモリ・サイズ。ただしプログラムを最小化していると、使わない部分のメモリを解放してしまうので非常に小さな値になる。サイズを調べるときは、最小化せずにウィンドウを開いたままの状態にして測定すること。 Windows XPでは複数のユーザーが同時にシステムを利用することができる。全ユーザーのプロセスのサイズを調べるには、このチェック・ボックスをオンにする。 |
アットローンのサイトです。