AEM Server でのディスク使用量が異常に多いか、急激に増加している

AEM Server のディスク使用量が多くなる原因を特定する方法について説明します。 デバッグロガーを使用し、スレッドダンプをキャプチャしてCPUのプロファイルを実行し、ディスク使用量レポートを実行します。

説明 description

環境

Adobe Experience Manager

問題/症状

AEM サーバーでディスク使用量が異常に多い、または急激に増加している。 ディスク領域が不足しているため、AEMは機能しなくなりました。

解決策 resolution

A. AEMを実行中で、十分なディスク容量がある場合

  1. Oak 書き込みトレースログの設定 AEMがまだ実行中の場合は、デバッグロガーを有効にして、どのリポジトリーパスに書き込まれるかを指示できます。 このロガーを有効にするには、添付のログ設定パッケージを以下にインストールするか、次の手順に従います。

    1. https://aemhost:port/system/console/slinglog に移動します
    2. 新しいロガーを追加 」をクリックします。
    3. ロガーを設定: ログファイル: logs/repgrowth.log、 ログレベル :trace、 ロガー: org.apache.jackrabbit.oak.jcr.operations.writes
    4. ​ ファイル ​ をダウンロードします。 このパッケージには、Oakのログ書き込みセッションに必要な設定が含まれています。 CRX パッケージマネージャーを使用して、このパッケージをインストールします。 モニター期間が終了したら、パッケージをアンインストールしてください。

    注意

    • ログには、すべての書き込みに関する情報とセッションの詳細が含まれます。 このロガーを使用する場合は、十分なディスク容量があることを確認します。
    • ディスク容量をさらに消費しないように、ログ設定パッケージをアンインストールするか、ログ設定を有効にしてから短時間削除します。
  2. ディスク使用量レポートの実行 ディスク使用量レポート https://host:port/etc/reports/diskusage.htmlを利用することもできます。 このレポートには、リポジトリパスによって使用されるディスク領域が表示されます。 レポートはドリル可能で、サブツリーも表示できます。

  3. スレッドダンプのキャプチャとプロファイルの実行 repgrowth.log を使用してどのデータが書き込まれているかを把握したら、スレッドダンプをキャプチャしてCPUのプロファイルを実行することで、そのデータを書き込んでいるコードに関する情報を取得できます。 次のページを参照してください。

B. AEMが停止しているか、ディスク容量がほとんどいっぱいになっている場合

ディスク容量の増加を避けるためにAEMを停止する必要がある場合は、次のコマンドを使用して初期分析を実行します。

  • Linux プラットフォームでは、du コマンドを利用して、crx-quickstart 以下のすべてのディレクトリを、それらのディレクトリの要約サイズで一覧表示します。

    code language-none
    du -h --max-depth=2 crx-quickstart
    
  • find コマンドと du コマンドを使用して、最近変更されたファイルを検索し、そのサイズを取得します。

    code language-none
    find crx-quickstart -type f -mtime 1 -exec du -hs {} \; -print
    
  • データストアで大きなファイルを見つけるには、finddufile の各コマンドを組み合わせて、100 MB を超えるファイルを データストア ディレクトリで検索し、そのファイルタイプを自動識別します。

    code language-none
    find crx-quickstart/repository/datastore -type f -size +100M -exec sh -c "du -hs \"{}\"; file \"{}\"" \;
    
  • segmentstore ディレクトリでデータ量の増加が起こっていることがわかった場合は、次のコマンドを使用して、どのようなデータが書き込まれているかを確認できます。

    code language-none
    strings data_xxxxxx.tar | egrep '.?/' | sed 's/.$//;s/.\//\//'
    

原因

ディスクの使用率が異常に増加する原因として考えられるものは、次のとおりです。

  • システムで適切なメンテナンスが実行されていない。  様々なシステムメンテナンスアクティビティについて詳しくは、この記事を参照してください。
  • AEMまたはアプリケーションが、非常に多数のノードを作成しているか、ノードプロパティが更新されています。  これは、設定ミスまたはアプリケーションコードのバグが原因である可能性があります。  Oakの tar ストレージは追加専用モードで動作するので、ノードを繰り返し保存すると、リポジトリが過度に増加する一因となります。
  • 非常に大きなファイルがAEM Assetsまたはパッケージマネージャーにアップロードされています。
  • デバッグまたはトレース ログは有効なままです。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f