AEM - ビルトイン CPU プロファイラーによる Java パフォーマンスのトラブルシューティング

Java プロセスの CPU 使用率が高いと、サーバーの動作が遅くなる可能性があります。 この記事では、ビルトイン CPU プロファイラーを使用して Java のパフォーマンスに関する問題をトラブルシューティングする方法について説明します。

説明 description

環境

Adobe Experience Manager(バージョン 6.4 および 6.5)

問題/症状

一部のサーバープロセスは本当に遅いですが、ブロックしていません。

サーバー OS は、AEM java プロセスからの高い CPU 使用率を示します。

解決策 resolution

解決手順:

AEM 6.x には、シンプルな CPU プロファイリングツールが含まれています。

  1. 次の URL を開きます:https://aem-host:port/system/console/profiler
  2. オプション を展開します。
  3. サンプル間隔 (ms)を設定するか、デフォルトを使用します。
  4. スタックトレースの深度 を設定します(推奨値:50 以上)。
  5. 収集を開始 をクリックします。
  6. CPU 使用率が高い間は、3~10 分待ってデータを収集します。
  7. 停止 」をクリックして、データを収集します(出力は同じページに表示されます)。

プロファイラーは、実行中の スレッド(アクティブに CPU 時間を取得しているスレッド)のスタックトレースを収集します。 スタックを収集する際に、重複するトレースを見つけ、最も一般的なものから最も一般的でないものへと並べ替えます。
原因
CPU 使用率が高くなる原因は多数あります。 次に示します。

  • 非効率的なアプリケーションコード
  • 大規模なコンテンツ構造のトラバーサル
  • アプリケーションメモリの使用率が高く、JVM ガベージコレクションに多くの時間がかかる
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f