ID 別のパフォーマンス規則
[警告] |
Description |
---|---|
System.String.Concat の呼び出しがプロファイル データの大きな割合を占めています。StringBuilder クラスを使用して、複数のセグメントからの文字列を連結することを検討してください。 |
|
プロファイリング実行中に VSPerfCorProf.dll が見つかりませんでした。この警告は、VSPerfCLREnv.cmd ツールを使用せずにプロファイラー データ収集用のコマンド ライン ツールを使用して、必要な環境変数を初期化すると発生します。 |
|
アプリケーション用に収集された呼び出し履歴サンプルの多くの部分が、カーネル モードでの実行でした。別のプロファイル方法を使用してアプリケーションをプロファイルすることを検討してください。 |
|
プロセッサ (CPU) 使用率の大きな割合を、インストルメンテーション メソッドを使用して収集されたプロファイル データが占めていました。CPU 主体のアプリケーションをプロファイリングするときは、サンプリング プロファイリング方式の使用を検討してください。 |
|
多数の .NET メモリ オブジェクトが、ジェネレーション 2 のガベージ コレクションで再利用されています。 |
|
Equals メソッドまたはパブリックの値型の等値演算子の呼び出しがプロファイル データの大きな割合を占めています。より効率的な方法を実装することを検討してください。 |
|
.NET Framework 例外ハンドラーの多くの部分がプロファイル データで呼び出されました。他の制御フロー ロジックを使用して、スローされる例外の数を減らすことを検討してください。 |
|
プロファイリング実行で少数のサンプルしか収集されませんでした。収集されるサンプル数を増やすには、実行時間を長くするか、サンプリング速度を上げてください。 |
|
アプリケーションの実行時間のうち、かなりの割合が Just-In-Time (JIT) コンパイラに費やされていました。 |
|
型の GetHashCode メソッドの呼び出しが、プロファイル データまたはメソッド割り当てメモリの大きな割合を占めています。 |
|
型の CompareTo メソッドの負荷が高くなっているか、このメソッドがメモリを割り当てています。 |
|
System.Reflection メソッド (InvokeMember や GetMember など) または Type メソッド (MemberInvoke など) の呼び出しが、プロファイル データの大きな割合を占めています。可能な場合は、事前バインディングを使用するこれらのメソッドを依存アセンブリのメソッドに置き換えることを検討してください。 |
|
System.String.Split メソッドまたは System.String.Substring メソッドの呼び出しがプロファイル データの大きな割合を占めています。文字列内に部分文字列が存在することをテストする場合は、System.String.IndexOf または System.String.IndexOfAny を使用することを検討してください。 |
|
プロファイリングの実行中に収集されたシステム パフォーマンス データは、ディスクへのアクティブなメモリのページングがプロファイリング実行全体において非常に高率で発生していることを示しています。ページング率がこのレベルに達すると、通常、アプリケーションのパフォーマンスと応答性に影響します。アルゴリズムを修正してメモリ割り当てを減らすことを検討してください。また、アプリケーションのメモリ要件の検討が必要になることがあります。より多くのメモリを備えたコンピューターでプロファイリングを再度実行してください。 |
|
プロファイリングの実行中に収集されたシステム パフォーマンス データは、ディスクへのアクティブなメモリのページングがプロファイリング実行全体において高率で発生していることを示しています。ページング率がこのレベルに達すると、通常、アプリケーションのパフォーマンスと応答性に影響します。アルゴリズムを修正してメモリ割り当てを減らすことを検討してください。また、アプリケーションのメモリ要件の検討が必要になることがあります。より多くのメモリを備えたコンピューターでプロファイリングを再度実行してください。 |
|
プロファイリングの実行中に収集されたシステム データは、.NET Framework メモリ ヒープが 32 ビット プロセスのマネージ ヒープの到達可能な最大サイズに達したことを示しています。報告される値は、プロファイリング中のプロセスがアクティブな状態にあったときに測定されたヒープの最大値です。マネージ リソースのアプリケーションによる使用を最適化することを検討してください。 |
|
プロファイリングの実行中に収集されたシステム パフォーマンス データは、ジェネレーション 1 のガベージ コレクションで解放された .NET Framework オブジェクト用のメモリが、ジェネレーション 0 のデータ コレクションと比較して高率であることを示しています。 |
|
プロファイリングの実行中に収集されたシステム パフォーマンス データが、ジェネレーション 2 のガベージ コレクションで解放された .NET Framework オブジェクト用のメモリが、ジェネレーション 0 およびジェネレーション 1 のガベージ コレクションと比較して高率であることを示しています。 |
|
プロファイリングの実行中に収集されたシステム パフォーマンス データは、ガベージ コレクションで費やされた時間がアプリケーション全体の処理時間と比較して長いことを示しています。 |
|
プロファイリングの実行中に収集されたシステム パフォーマンス データは、ガベージ コレクションで費やされた時間がアプリケーション全体の処理時間と比較して非常に長いことを示しています。 |
|
カーネル モードで実行された CPU 時間の割合が、ユーザー モードで費やされた時間数を超えました。カーネル モードの実行時間が長い原因を判断するために、プロファイリングを再度実行し、システム コール (syscalls) の数をサンプリングすることを検討してください。 |
|
プロファイリング ツールでサポートされていない .NET Framework version 1.1 を使用するアプリケーションのプロファイリングを実行しようとしています。 |
|
System.Data メソッドの呼び出しがプロファイル データの大きな割合を占めているため、プロファイリングの実行中に階層の相互作用データが収集されませんでした。プロファイリングを再度実行し、階層の相互作用データを追加することを検討してください。 |
|
プロファイル データを使用して収集したシステム パフォーマンス データは、アプリケーションの実行中に高率のロック競合が発生したことを示しています。競合の原因を見つけるために、同時実行プロファイル方法を使用して、プロファイリングを再度実行することを検討してください。 |
|
プロファイル データを使用して収集したシステム パフォーマンス データは、アプリケーションの実行中に極端に高率のロック競合が発生したことを示しています。競合の原因を見つけるために、同時実行プロファイル方法を使用して、プロファイリングを再度実行することを検討してください。 |
|
このメッセージにより、アプリケーションの命令の実行中にプロセッサがビジー状態になった時間がパーセントで報告されます。プロファイリング中のプロセスがアクティブな状態にあるすべての測定間隔を通じて取得された値の平均値が、このメッセージによって報告されます。複数のプロセッサが搭載されたコンピューターの場合、100% を超える値になる可能性があります。 |
|
このメッセージにより、アプリケーションの命令の実行中にプロセッサがビジー状態になった最大時間がパーセントで報告されます。プロファイリング中のプロセスがアクティブな状態にあるすべての測定間隔を通じて取得された値のうち、最も大きな値がこのメッセージによって報告されます。複数のプロセッサが搭載されたコンピューターの場合、パーセントが 100% を超える可能性があります。 |
|
このメッセージにより、プロセスが現在使用している物理メモリ量 (ワーキング セット) の平均がバイト単位で報告されます。プロセスのワーキング セットは、物理メモリに現在常駐しているプロセス アドレス空間のページを表します。 |
|
このメッセージにより、プロセスが現在使用している物理メモリの最大容量がバイト単位で報告されます。プロセスのワーキング セットは、物理メモリに現在常駐しているプロセス アドレス空間のページを表します。この規則は、プロファイリングがアクティブな状態にあったときの、プロセスのワーキング セットの最大値を報告します。 |
|
このメッセージにより、プロセスによって割り当てられた現在の仮想メモリ容量がバイト単位で報告されます (プライベート バイト)。プライベート バイトは、プロセス内部で実行中のスレッドからのみアクセスできるプロセスによって割り当てられた仮想メモリの位置を表します。 |
|
このメッセージにより、プロセスによって割り当てられた現在の仮想メモリの最大容量がバイト単位で報告されます (プライベート バイト)。プライベート バイトは、プロセス内部で実行中のスレッドからのみアクセスできるプロセスによって割り当てられた仮想メモリの位置を表します。 |