[
https://issues.apache.org/jira/browse/BOOKKEEPER-578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13593777#comment-13593777
]
Rakesh R commented on BOOKKEEPER-578:
-------------------------------------
Good catch [~merlimat].
In LedgerEntryPage, we are allocating direct buffer and this page is put into
the cache. So each page will consume virtual memory which is outside the java
heap and gradually resident memory(RES) usage will become high. IMHO, we could
make the 'pages' cache bounded and also feel to use normal bytebuffers.
{code}
LedgerCacheImpl.java
HashMap<Long, HashMap<Long,LedgerEntryPage>> pages = new HashMap<Long,
HashMap<Long,LedgerEntryPage>>();
{code}
> LedgerCacheImpl is reserving 1/3 of Heap size but allocates NonHeap memory
> --------------------------------------------------------------------------
>
> Key: BOOKKEEPER-578
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-578
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-server
> Reporter: Matteo Merli
> Priority: Minor
>
> By default the page limit parameter is set to -1, which means to assign 1/3
> of Heap space to the LedgerCache. Each LedgerEntryPage is then allocating the
> memory outside the heap (ByteBuffer.allocateDirect()).
> This makes BK to use more memory than the -XmxNN configured setting. Is there
> any particular reason for the LedgerEntryPage buffer to be allocated outside
> the java heap? Could that be changed?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira