このページでは、ノードでオブジェクトインスタンス追跡を有効にする方法について説明します。ノードでオブジェクトインスタンス追跡を有効にすると、AppDynamics はヒープを分析し、ヒープ上のほとんどのインスタンスを持つクラスを特定します。AppDynamics は、インスタンス数に基づいて上位 20 種類の .NET フレームワーククラスとアプリケーションクラスまで追跡します。オブジェクトインスタンス追跡を使用すると、多数のインスタンスを持つクラスのメモリ使用傾向を特定できます。

権限

オブジェクトインスタンスの追跡を有効化するには、次のいずれかの権限が必要です。

  • Configure Memory Monitoring
  • エージェントプロパティの構成

カスタムロールの管理を参照してください。

制限事項

オブジェクトインスタンス追跡には、ターゲットシステムに .Net Framework 4.6.2 以降がインストールされている必要があります。 

ノードのオブジェクトインスタンス追跡の有効化

  1. ノードダッシュボードで、[Memory] タブをクリックします。
  2. [Object Instance Tracking] タブをクリックします。
  3. [ON] をクリックします。
    エージェントによるヒープ分析が完了すると、AppDynamics がヒープ内にある上位 20 種類のアプリケーションクラスとシステム(Core .NET)クラスの追跡を開始します。

    オブジェクトインスタンス追跡が有効にされていると、ヒープ分析中に .NET アプリケーションは一時停止し、要求を処理できません。メモリ問題の診断時にオブジェクトインスタンス追跡を有効にし、トラブルシューティングが終了したら、追跡をオフにします。

メモリ使用量の問題特定

次のガイドラインを使用して、メモリ使用量の問題を特定します。

  • オブジェクトインスタンスのコントローラ分析は 1 分で完了しますが、.NET エージェントがデータを送信するのは 10 分ごとのため、.NET メモリは時間経過に対して一連のピークとして表示されます。
  • インスタンス数収集時間の合間は、コントローラに表示される [Current Instance Count] と [Shallow Size] が 0 であることは正常です。
  • インスタンス数に関する情報を表示するには、グラフのピークにカーソルを合わせる。
  • 左から右へピークサイズが増加し、メモリリークを示している可能性がある傾向を探します。

カスタムクラスのオブジェクトインスタンスの追跡

[Object Instance Tracking] タブの上位 20 に表示されないクラスを追跡する場合は、追跡する特定のクラスを設定します。

  1. [Object Instance Tracking] > [Configure Custom Classes to Track] > [Configure Instrumentation] > [Memory Monitoring] に移動する。
  2. [Add] をクリック。[Create New Instance Tracker] パネルが開く。
  3. [Enabled] のチェックを確認。
  4. 追跡するインスタンスの完全修飾クラス名を入力する。
  5. Save をクリックします。