問題

CRX は、CRX 2.2.0.44 [1] 用の CRX ホットフィックスパックに導入された監視機能によりリポジトリを自動的にシャットダウンします。

ログに次のような情報が表示されます。

xx.xx.xxxx xx:xx:xx *ERROR* OutOfMemoryMonitor: stdev of memory usage samples is x.x, which is lower than 2.shutting down (OutOfMemoryMonitor.java, line 121)
xx.xx.xxxx xx:xx:xx *ERROR* LowDiskSpaceMonitor: More than 95 usage and stdev less than 2. (LowDiskSpaceMonitor.java, line 165)
More than 95 usage and stdev less than 2.
More than 95 usage and stdev less than 2.

ただし、java ガベージコレクションのログに従って、インスタンスは異常なメモリ使用量を表示しません。

解決策

この監視の制御に使用できるシステムプロパティがいくつかあります。

次に、これらの JVM パラメーターでデフォルト設定を増やすことをお勧めします。

-Dcrx.memoryMaxUsage=98 -Dcrx.memoryMinStdev=1

このメモリ監視機能を完全に無効にするには、この JVM パラメーターを使用できます(これにより、java プロセスが OutOfMemoryError をスローします)。

Dcrx.memoryCheckDisabled=true

これらの JVM パラメーターを CQ または CRX の起動に追加するには、開始スクリプトの CQ_JVM_OPTS 変数値の最後に追加します。このスクリプトは、crx-quickstart/server/start(CRX1.x、CRX2.0-2.2、CQ5.2.x、CQ5.3、CQ5.4)または crx-quickstart/bin/start(CRX2.3、CQ5.5 以降)で確認できます。

また、Apache Felix Web コンソールでは、メモリ使用量のしきい値の割合をヒットするとき、メモリダンプをトリガーする機能を有効にすることができます。例えば、OutOfMemoryError をスローできる java プロセスが実際にはスローしなくてもメモリリークがあるかどうかを確認するのに役立つ 97% に設定できます。

自動ヒープダンプのしきい値を設定するには、http://localhost:4502/system/console/memoryusage でインスタンス上のこのページを参照してください。

このトピックについて詳しくは、CRX2.2 の場合はここ [1]、CRX2.3 の場合はここ [2] を参照してください。

適用対象

CRX 2.2

CRX 2.3

参考文献

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

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