1秒あたりのページフォールトが多い場合、パフォーマンスモニターから何がわかりますか?


18

パフォーマンスの問題があるWindows 7 64ビットコンピューターがあります。いくつかの調査の後、パフォーマンスモニターによって報告されたページフォールト/秒が非常に高いことがわかりました。

それ以外はすべて正常なようです。リソースモニターは、ハードフォールトや大量の使用可能なメモリを報告しません。

これは問題の潜在的な原因ですか、それともニシンですか?それが問題を引き起こす可能性があるものである場合、何が原因であるかを理解するために次に何をすべきですか?

これがパフォーマンスモニターのスクリーンショットです。平均ページフォールト/秒は75,887であることに注意してください。問題のない別のコンピューターでは、この数は3,000に近くなります。

パフォーマンスモニター-ページフォールト/秒= 75,000!

以下は、リソースモニターのスクリーンショットです。ハードフォールト/秒でソートされていますが、現在はすべてのプロセスで0です。

リソースモニター-ハードフォールト/秒= 0


あなたのスケールは0.001 BTWで非常に低いです
ジェフF.

1
ページフォルトの基本... blogs.technet.com/b/askperf/archive/2008/06/10/...
モアブ

1
ページフォールトのノート、それはこのまたは故障したメモリモジュールを起こし不十分コード化されたプログラム可能性があり... blogs.msdn.com/b/greggm/archive/2004/01/21/61237.aspx
モアブ

3
最後に、これらすべてのページフォールトの原因であるWindows Searchサービスが見つかりました。それを無効にすると、ページフォールトの合計が3,000 /秒になり、すべてが正常に実行されます。
デビッドロビソン

PFがハードPFである場合のみ、PFを心配します。techcommunity.microsoft.com/t5/Ask-The-Performance-Team/...
Ultralisk

回答:


12

Process Explorerには、生成されているページフォールトの数を確認するための列があります。
これにより、問題の原因となっているプログラムを特定し、より具体的なトラブルシューティングを行うことができます。

ここに画像の説明を入力してください


パフォーマンスモニター:平均ページフォールト/秒

このカウンターは、要求されている情報が、アプリケーション(およびVMM)が期待する場所ではない回数の一般的なアイデアを提供します。情報は、メモリ内の別の場所またはページファイルから取得する必要があります。ここで持続値は問題を示している可能性がありますが、実際のディスクへの読み取りまたは書き込みを表すハードページフォールトに注意する必要があることを思い出してください。ディスクアクセスはRAMよりもはるかに遅いことに注意してください。

http://technet.microsoft.com/en-us/library/cc768048.aspx


これを試しましたが、PF Deltaはすべてのプロセスで基本的に0です(すべて<100)。パフォーマンスモニターのページフォールトと、リソースモニターまたはプロセスエクスプローラーによって報告されるハードフォールトには、いくつかの違いがあるようです。
デビッドロビソン

@DavidRobison:私の投稿を最後に引用符で更新しました。太字の部分があなたの質問に答えるはずです。したがって、通常の振る舞いだと思います。
タマラWijsman

このリンクは役立ちますが、今は別の質問が残っています:どのプロセスがソフトページフォールトを引き起こしているのかをどのように判断するのですか?serverfault.com/questions/230669/...
デヴィッド・ロビソン

@DavidRobison:プライベートデルタバイト列かもしれないのヘルプ、ノーアイデアまだ...
タマラWijsman

3

ハードページフォールトとは、メモリマネージャが、必要なメモリブロックがRAMにないことを検出した場合です。そのメモリはディスクにスワップアウトされ、そこから取得するのに時間がかかるため、システムの速度が低下します。システムにメモリを追加して、ページフォールトの数を減らし、パフォーマンスを向上させます。


一方、アプリケーションを起動したばかりの場合は、すべてが読み込まれている間に多くのページフォールトが発生することが予想されます。十分な空きメモリがあるように見えるので、それはあなたが見たものかもしれません。
ロン

1
さまざまな場所(プロセッサ、マザーボード、ディスクコントローラ)にメモリキャッシュがあります。遅いマシンのプロセッサキャッシュは小さくなっていますか?
ロン

プロセッサキャッシュを正確に増やすことはできません。メモリを追加しても修正されません。(最近のコメントで言及しました)
アダム

2

「ページフォールト/秒」には、ソフトフォールト(RAMから/に提供できるページ)とハードフォールト(ディスクから/に提供しなければならないページ)の両方が含まれます。したがって、「ページフォールト/秒」の値が高いことは、必ずしも問題を意味するわけではありません。ソフトページフォールトの例には、遷移リストのページをめくることが含まれます(スタンバイリストと変更リストで構成されます。一時的に使用されていないメモリページが含まれます。まだRAMにある)アクティブページに移行し、アクティブページを遷移リストに変換します。Windows 10では、圧縮されたページがアクティブなページになったときにも発生する可能性があります(Windows 10にはメモリ圧縮があるため)。

ハードフォールトを表示するには、ページ/秒、ページ入力/秒、またはページ出力/秒のカウンターを使用できます。


1

これは、ページフォールトとは何かに関するWindows Internalsブックの表です。(アクセス違反を引き起こすものを除外しました):

  • 障害の理由-結果
  • メモリには存在しないが、ページファイルまたはマップファイルでディスク上にあるページにアクセスする-物理ページを割り当て、ディスクから関連するワーキングセットに目的のページを読み込む
  • スタンバイリストまたは変更済みリストにあるページへのアクセス-ページを関連するプロセス、セッション、またはシステムワーキングセットに移行します。
  • デマンドゼロページへのアクセス-ゼロで埋められたページを関連するワーキングセットに追加する
  • コピーオンライトページへの書き込み-ページのプロセスプライベート(またはセッションプライベート)コピーを作成し、プロセス内またはシステムワーキングセット内のオリジナルを置き換えます。

what-c​​auses-page-faultsの詳細については、質問を参照してください。

作る理由はたくさんありますpage fault

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.