내 커뮤니티 업적 표시줄을 확대합니다.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Mark Solution

활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.

해결됨

Oak TarMK memory mapped files

Avatar

Level 4

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/

[2] http://www.pro-vision.de/content/dam/pro-vision/production/adaptto/2013/adaptto2013-oak-for-users-mi... (slide 17)

[3] http://www.slideshare.net/AEMHub2014/oak-michael-marth (slide 10)

Thank you

1 채택된 해결책 개

Avatar

정확한 답변 작성자:
Level 10

This response was provided by Adobe TARMK experts:

The argument -XX:MaxDirectMemorySize=5120m does not work (in Windows at least), when I  tested it.  So it'll grab ALL of the free RAM.

http://jayan.kandathil.ca/CQ-OPS/memory-mapping.pn

 

In Windows, to track this, use Task Manager.  Subtract "Working Set" from "Private Working Set".  Also, (on Windows) use Microsoft TechNet Process Explorer to look at all of the file handles opened by the JVM process - there should be one handle per tar file in segmentstore:

https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx

​ 

원본 게시물의 솔루션 보기

2 답변 개

Avatar

정확한 답변 작성자:
Level 10

This response was provided by Adobe TARMK experts:

The argument -XX:MaxDirectMemorySize=5120m does not work (in Windows at least), when I  tested it.  So it'll grab ALL of the free RAM.

http://jayan.kandathil.ca/CQ-OPS/memory-mapping.pn

 

In Windows, to track this, use Task Manager.  Subtract "Working Set" from "Private Working Set".  Also, (on Windows) use Microsoft TechNet Process Explorer to look at all of the file handles opened by the JVM process - there should be one handle per tar file in segmentstore:

https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx

​ 

Avatar

Level 4

My issue is that NOT all the available memory outside the heap is used...

My case is total memory: 12 G.

Max heap 5 G.

Max direct memory 5 G (I am on unix system).

Max memory occupation reaches 8 G.

Is this expected?