DA0014: ディスクへのアクティブなメモリのページングが非常に高率で発生していますDA0014: Extremely high rates of paging active memory to disk

規則 IDRule Id DA0014DA0014
カテゴリCategory メモリとページングMemory and Paging
プロファイル方法Profiling method すべてAll
メッセージMessage ディスクへのアクティブなメモリのページングが非常に高率で発生しています。An extremely high rate of paging active memory to disk is occurring. アプリケーションがメモリにより制限されている可能性があります。Your application may be memory-bound.
規則の種類Rule type 警告Warning

サンプリング、.NET メモリ、またはリソース競合メソッドを使用してプロファイリングを行うときは、この規則を呼び出すためのサンプルを少なくとも 25 個収集する必要があります。When you profile by using the sampling, .NET memory, or resource contention methods, you must collect at least 25 samples to trigger this rule.

原因Cause

プロファイリングの実行中に収集されたシステム パフォーマンス データが、ディスクへのアクティブなメモリのページングがプロファイリング実行全体において非常に高率で発生していることを示しています。System performance data that was collected in the profiling run indicates that an extremely high rate of paging active memory to and from the disk occurred throughout the profiling run. 通常、このレベルのページング率は、アプリケーションのパフォーマンスと応答速度に影響します。Paging rates at this level usually impacts application performance and responsiveness. アルゴリズムを修正してメモリの割り当てを減らすことを検討してください。Consider reducing memory allocations by revising algorithms. また、アプリケーションのメモリ要件も検討した方がよいでしょう。You might also have to consider the memory requirements of your application. よりメモリの多いコンピューターでプロファイリングを再度実行してください。running profiling again on a computer with more memory.

規則の説明Rule Description

ディスクに対する過剰なページングは、物理メモリの不足が原因で発生する場合があります。Excessive paging to disk can be caused by a shortage of physical memory. ページング ファイルが存在する物理ディスクの大部分がページング操作によって使用される場合、同じディスクのその他のアプリケーションのディスク操作の処理速度が遅くなる可能性があります。If paging operations dominate use of the physical disk where the paging file resides, they can slow down other application-oriented disk operations to the same disk.

通常、ページのディスクへの読み書きは一括で実行されます。Frequently, pages are read from the disk or written to the disk in bulk paging operations. たとえば、1 秒あたりの出力ページ数は 1 秒あたりの書き込みページ数よりも大幅に大きくなることが一般的です。The number of Pages Output/sec is frequently much larger than the number of Page Writes/sec, for example. これは、1 秒あたりの出力ページ数には、システム ファイルのキャッシュで変更されたデータ ページも含まれるためです。Because Pages Output/sec also includes changed data pages from the system file cache. ただし、どのプロセスがどういった理由で高いページング率の直接的な原因になっているのかを特定するのは、必ずしも容易ではありません。However, it is not always easy to determine which process is directly responsible for the paging or why.

注意

この規則は、アクティブなメモリのページングが非常に高率に達した場合に適用されます。This rule fires when levels of paging of active memory reach a very high rate. ページングが高いレベルで発生しているが、非常に高くはない場合、代わりに、情報規則「DA0017: ディスクへのアクティブなメモリのページングが高率で発生しています。」が発生します。When the level of paging is significant, but not extreme, the informational rule DA0017: High rates of paging active memory to disk fires instead.

違反の修正方法How to Fix Violations

[エラー一覧] ウィンドウに表示されたメッセージをダブルクリックして、[マーク] ビューに移動します。Double-click the message in the Error List window to navigate to the Marks view. Memory\Pages/sec 列を探します。Find the Memory\Pages/sec column. ページングの入出力アクティビティのが他のフェーズよりも多い特定のプログラム実行フェーズがあるかどうかを確認します。Determine if there are specific phases of program execution where paging IO activity is heavier than others.

ロード テスト シナリオで ASP.NET アプリケーション用のプロファイル データを収集している場合は、追加の物理メモリ (または RAM) が構成されているコンピューターでもう一度ロード テストを実行してください。If you are gathering profile data for an ASP.NET application in a load testing scenario, try running the load test again on a machine configured with additional physical memory (or RAM).

アルゴリズムを修正し、String.Concat や String.Substring などのメモリ消費量の多い API の使用を控えることにより、メモリの割り当てを減らすことを検討してください。Consider reducing memory allocations by revising algorithms and avoiding memory-intensive APIs such as String.Concat and String.Substring.