Lorsque vous exécutez l’outil Oak pour nettoyer le point de contrôle, il renvoi OutOfMemory.
Les journaux indiquent l’exception suivante :
Apache Jackrabbit Oak 1.0.6
Points de contrôle /wcm/cq-author/crx-quickstart/repository/segmentstore
Exception dans la suite des événements « principal » java.lang.OutOfMemoryError : Java heap space
dans org.apache.jackrabbit.oak.plugins.segment.file.TarReader.loadGraph(TarReader.java:453)
dans 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)
Assurez-vous que la machine virtuelle Java 64 bits est installée. Exécutez ensuite le paramètre Oak Run avec le paramètre suivant.
java -Dtar.memoryMapped=true -Xmx8g -jar oak-run-1.0.7-SNAPSHOT.jar checkpoint
Le paramètre -Dtar.memoryMapped= indique à l’outil de charger la mémoire de segments mappée, ce qui signifie qu’elle n’utilise pas la mémoire JVM, mais la mémoire native disponible.