本記事はマイクロソフト社員によって公開されております。
こんにちは、Windows サポートチームの石川です。
本記事では、メモリ使用量を確認する際に見るべきパフォーマンス カウンターをご紹介します。
これらカウンターは、Windowsが動作しているシステムのメモリの使用状況が正常であるかを判断する目安となります。
適用対象の OS
- すべての Windows OS
メモリについて
メモリには、マシンに搭載されている物理メモリに加えて仮想メモリの2種類があります。仮想メモリは、物理メモリにページジング ファイルを加えた大きさのメモリ空間を指し、各プロセスが仮想メモリにメモリの確保(コミット)を行います。そのため、物理メモリに余裕がある状況でも仮想メモリが不足してプロセスがコミットできなくなるとシステムが不安定になりますので、これら2つのメモリ使用量の確認をする必要があります。
物理メモリと仮想メモリの詳細な説明とタスクマネージャでのメモリ使用量の確認方法は タスクマネージャの見方 を参照してください。
物理メモリと仮想メモリ
まず、物理メモリと仮想メモリが全体的にどのような状態であるかを確認するときに使用するパフォーマンス カウンターを物理メモリと仮想メモリに分けてご紹介します。
物理メモリ
物理メモリの利用可能な容量は、以下のカウンターによって確認できます。
\Memory\Available Bytes
利用可能な物理メモリの大きさ
このカウンター値が小さくなると物理メモリの使用量が増加していることが確認できます。どの程度の大きさで問題になるといった明確な基準はありませんが、徐々に減少する状態が一定時間続くなどの際には問題が生じている可能性があります。\Memory\Available KBytes, \Memory\Available MBytes
これらは \Memory\Available Bytes の表示単位を変更したものとなっており、適切に使い分けると数値が捉えやすくなります。
仮想メモリ
仮想メモリの最大値に対してどのくらいの割合でコミットされているかを確認することで、仮想メモリ不足に陥っていないかを確認できます。以下のカウンターによって仮想メモリの状態を確認することができます。
\Memory\Committed Bytes
コミット済みの仮想メモリの大きさ\Memory\Commit Limit
仮想メモリの最大値(物理メモリ量+ページング ファイル サイズ)\Memory\% Committed Bytes In Use
仮想メモリの最大値に対する、コミット済みの割合 (Committed Bytes / Commit Limit)
このカウンター値が 100% に近づくと仮想メモリ不足を示します。高い使用率で推移してシステムが不安定になる際には仮想メモリ不足による問題が生じている可能性があります。
システム領域とユーザ領域
次に上記のカウンターでメモリ使用量の上昇が確認できた場合に、メモリが使用されている領域を調査するために利用するパフォーマンス カウンターをご紹介します。Windowsが動作する際、メモリはOSの動作に使用するシステム領域とアプリケーションが使用するユーザ領域の2つによって使用されているため、それぞれの領域でのメモリ使用量を確認する必要があります。
システム領域
システム領域では、ページ アウト可能なページ プールと物理メモリ上のみにデータが存在する非ページ プールに分けてメモリ使用量を確認します。
\Memory\Pool Paged Bytes
ページ プールにコミットされているメモリの大きさ\Memory\Pool Paged Resident Bytes
ページ プールの中で物理メモリ上に確保されているメモリ使用量\Memory\Pool Nonpaged Bytes
非ページ プールにコミットされているメモリの大きさ
これらのいずれかのカウンターが上昇している場合メモリ不足の原因となっていることが考えられます。目安としては、ページ プールと非ページ プールの使用量が物理メモリに対して8割を超えているまたは5GBを超えている場合、システム領域でメモリリークが生じ、大量にメモリが消費されている可能性があります。
ユーザ領域(プロセスごとのメモリ使用量)
システム領域におけるメモリの使用量に変化が見られない場合はいずれかのプロセスでメモリの使用量が大きく増加している可能性があります。以下のカウンターを確認することでプロセスごとのメモリ使用量を調査できます。
\Process(プロセス名)\Working Set
各プロセスが割り当てた物理メモリ使用量\Process(プロセス名)\Working Set - Private
各プロセスが割り当てた他のプロセスと共有できない物理メモリ使用量\Process(プロセス名)\Private Bytess
各プロセスが割り当てた他のプロセスと共有できない仮想メモリの使用量
これらのカウンターを確認することでメモリの使用量が大きいプロセスを調査することができます。プロセスごとに想定より大幅に上回ってメモリを使用している場合はそのプロセスがメモリ使用量上昇の原因である可能性があります。
変更履歴
- 2021/10/26 : 本 Blog の公開