現象

一部のプロセスは、実際には低速ですが、ブロックされません。サーバー OS は、AEM java プロセスから高い CPU 使用量が表示されます。

原因

CPU 使用量が高い原因としては、次のような原因が考えられます。

  • 非能率なアプリケーションコード
  • 大きなコンテンツ構造のトラバーサル
  • アプリケーションメモリの使用量が多いと、JVM ガベージコレクションで費やされる時間が多くなります

分析、解決策

CPU プロファイラー内蔵の使用

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

  1. この URL を開きます:http://aem-host:port/system/console/profiler
  2. 「オプション」を展開
  3. 「サンプル間隔(ミリ秒)」を設定する(またはデフォルトを使用)
  4. 「スタックトレースの深さ」を設定する(推奨値:少なくとも50)
  5. 「収集の開始」をクリックします。
  6. CPU 使用率が高い間は、データを集めるために3~10分待ちます
  7. 「停止」をクリックすると、データが収集されます(出力は同じページに表示されます)。

プロファイラは、実行中のスレッド(CPU 時間を積極的に使用するスレッド)のスタックトレースを収集します。スタックの収集中に、重複トレースが検出され、共通しているものが最も多いものから最も少ないものの順にソートされます。

適用対象

CQ5.6.1、AEM 6.x

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー