Oak TarMK memory mapped files
Hi guys.
Lately I am trying to investigate Oak feature that exploits direct memory (off-heap memory) to increase performance [1] [2] [3]. As far as I have understood, besides memory assigned to AEM through JVM heap, Oak uses off-heap memory as well. In order to actually make use of this feature I have set the following JVM parameters:
/usr/java/jdk1.8.0_40/bin/java -server -Xms5120m -Xmx5120m -XX:MaxDirectMemorySize=5120m -XX:PermSize=512m -XX:MaxPermSize=512m
Total memory is 12 G, so the idea was: taking out 2 G from total (operative systems, etc...), 50% to AEM max heap (5 G), and the other 50% (5 G) free to be used, hopefully, by Oak through direct memory. I have also set this -XX:MaxDirectMemorySize=5120m to explicitely set max direct memory.
Now my doubt is: how can I be sure that those free 5 G of memory are really used by Oak? How can I monitor and trace this? How can I compare performances?
Java version 1.8
AEM 6.0 + SP3 running on Unix64 bit
OAK version is 1.0.22
Total memory is 12 G
[1] https://www.terrabeata.com/2015/03/think-outside-the-heap-with-aem-6-and-jackrabbit-oak-tarmk/
[3] http://www.slideshare.net/AEMHub2014/oak-michael-marth (slide 10)
Thank you