web-dev-qa-db-ja.com

「たくさんの」ページフォルトとは何ですか?

Windows 2k8のメモリオブジェクトを監視しており、Page Faults/secカウンタを追跡しています。過剰なページフォールトを決定するためのしきい値はありますか?それとも、持続的で大量のページフォールトにもっと注意する必要がありますか?

ページフォールトを確認するより良い方法はありますか?

20
MattUebel

パフォーマンス監視のためにメモリの問題を読み取るのは難しいため、これは良い質問です。

まず、Page Faults/secこれには、ソフトフォールト、ハードフォールト、ファイルキャッシュフォールトが含まれることに注意してください。ほとんどの場合、ソフトフォールト(つまり、メモリの場所間のページング)およびキャッシュフォールト(メモリへのファイルの読み取り)は、ほとんどの状況でパフォーマンスへの影響が限られているため、無視できます。

メモリ不足の実際のカウンターはハードフォールトであり、Memory: Page Reads/sec。ハードフォールトは、プロセスの実行が中断され、メモリをディスクから読み取ることができることを意味します(通常、ページファイルにアクセスすることを意味します)。持続するハードフォールトの数は、メモリ不足を示していると考えます。

ウサギの穴をさらに進むと、ディスクキューの長さとハードフォールトを比較して、ディスクの読み取りがディスクのパフォーマンスにさらに影響しているかどうかを確認することもできます。ここで写真を取得するには、Physical Disk: Avg. Disk Queue Length.この数がアレイのスピンドルの数より大きい場合、問題があります。ただし、この値がハードページフォールト中にのみ急上昇する場合は、メモリ容量とnotディスクパフォ​​ーマンスに問題があります。

22
Doug Luxem

ページフォールト/秒は相対的なカウンターであるため、メモリ使用率やディスクI/Oなどと比較する必要があります。継続的に大量のページフォールトが発生しても、それ自体でパフォーマンスの問題を示唆するものではない可能性があります。これは、要求されたページがメモリになかったことを意味します。基本的なWindowsパフォーマンス分析については、これをご覧ください PALツールの概要

3
Jim B