Adobe Experience Manager 6.5.24でのJava ヒープとMetaspace OutOfMemoryの問題のトラブルシューティング
AEM 6.5.24のオーサーインスタンスとパブリッシャーインスタンスでJava ヒープとMetaspace OutOfMemory エラーを診断および解決する方法について説明します。
説明 description
環境
Adobe Experience Manager(AEM) 6.5.24 オーサーインスタンスとパブリッシャインスタンス。任意のデプロイメント環境(開発、ステージング、実稼動環境)に適用されます。
症状
-
Java ヒープおよび/またはメタスペースの使用率が時間の経過とともに大幅に増加します。
-
OutOfMemoryError条件が繰り返され、インスタンスが応答しなくなったり、クラッシュしたりします。
-
エラーログには、次のようなメッセージが含まれます。
- java.lang.OutOfMemoryError: Java ヒープ領域
- org.osgi.framework.ServiceException: サービス ファクトリの例外:Java ヒープ領域
-
リソース解決エラーに関連する頻繁なエラーメッセージ(以下を参照)。
- 存在しないページパスを解決する際に、実際のパスエラーのリソースが見つかりません
- モデル適応エラー(例:モデルがnullで、ページが見つかりません)
原因
OutOfMemory条件は、主に、リソース解決エラーの繰り返しとアプリケーションレベルの処理に関連するJava ヒープの枯渇が原因です。 AEM 6.5.24では、Metaspace固有の製品欠陥は確認されていません。 根本原因を分離して修復するには、ヒープダンプとアプリケーションコードのさらなる分析が必要です。
解決策 resolution
問題を解決するには、次の手順に従います。
-
診断データの収集:
-
OutOfMemoryErrorの時点で、オーサーインスタンスとパブリッシャーインスタンスの両方からエラーログ、ヒープダンプ、スレッドダンプを収集します。
-
ガベージコレクション(GC)ログを確認して、MetaspaceまたはJava ヒープの枯渇の証拠を確認します。
-
-
ヒープダンプの分析:
-
Eclipse Memory Analyzer (MAT) などのツールを使用して、保持されるヒープサイズが最も大きいオブジェクトまたはクラスを識別します。
-
異常なオブジェクトの保持、メモリリーク、過度のリソース解決アクティビティを探します。
-
-
申請コードを確認:
-
カスタムコード、特にリソース解決とモデル適応に関わるコンポーネントを調査します。
-
メモリの過剰な保持や繰り返しエラーの原因となるパターンに対処します。
-
-
既知の問題を確認します。
-
リソース リスナーまたはセッション保持に関連する既知の問題について、使用中の
org.apache.sling.jcr.resourceのバージョンを確認してください。 -
AEM 6.5.24のメモリの問題に対処するホットフィックスまたはサービスパックについては、Adobe AEM リリースノート およびExperience League フォーラム(例:AEM Experience League コミュニティ )を参照してください。
-
-
リソース解決の最適化:
-
存在しないパスに対するリソース解決の不必要な試行を減らします。
-
null モデルの適応を適切に処理し、過剰なエラーログとメモリの使用を回避します。
-
-
JVM設定の監視と調整:
-
ワークロードに合わせて、JVM メタスペースとヒープサイズのパラメーターを確認し、調整します。
-
コードと設定の変更を適用した後のメモリの傾向を監視します。
-
これらの手順を完了した後、メモリ使用率が安定し、OutOfMemory エラーが発生しなくなったことを確認します。