Oak 実行ツールでメモリ不足エラーが発生する

Oak を実行してチェックポイントをクリーンアップすると、OutOfMemory が発生します。

ログには次の例外が表示されます。

Apache Jackrabbit Oak 1.0.6
チェックポイント /wcm/cq-author/crx-quickstart/repository/segmentstore
「メイン」スレッド java.lang.OutOfMemoryError の例外:Java ヒープ空間
at org.apache.jackrabbit.oak.plugins.segment.file.TarReader.loadGraph(TarReader.java:453)
at org.apache.jackrabbit.oak.plugins.segment.file.TarReader.(TarReader.java:481)
at org.apache.jackrabbit.oak.plugins.segment.file.TarReader.openFirstFileWithValidIndex(TarReader.java:230)
at org.apache.jackrabbit.oak.plugins.segment.file.TarReader.open(TarReader.java:107)
at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.(FileStore.java:191)
at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.(FileStore.java:149)
at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.(FileStore.java:154)
at org.apache.jackrabbit.oak.run.Main.checkpoints(Main.java:223)
at org.apache.jackrabbit.oak.run.Main.main(Main.java:121)

 

異なるパラメーターを実装する Oak 実行ツールを再実行します

64 ビット JVM がインストールされていることを確認してください。次のパラーメーターで、Oak 実行ツールを再実行します。

java -Dtar.memoryMapped=true -Xmx8g -jar oak-run-1.0.7-SNAPSHOT.jar checkpoint

tar.memoryMapped=true というパラメーターは、マッピングされたセグメントメモリをロードするようにツールに指示します。つまり、JVM メモリではなく、使用な可能なネイティブメモリを使用します。

追加情報

リポジトリが大きい場合、Oak 実行ツールは、JVM のメモリ内にあるセグメントファイルを読み込もうとすると、メモリ不足エラーが発生します。

 

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

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