You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Justin Bertram (JIRA)" <ji...@apache.org> on 2016/04/28 01:36:12 UTC
[jira] [Resolved] (ARTEMIS-496) Client threads allocate a lot of
memory
[ https://issues.apache.org/jira/browse/ARTEMIS-496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Bertram resolved ARTEMIS-496.
------------------------------------
Resolution: Not A Bug
> Client threads allocate a lot of memory
> ---------------------------------------
>
> Key: ARTEMIS-496
> URL: https://issues.apache.org/jira/browse/ARTEMIS-496
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 1.2.0
> Reporter: Bernd Gutjahr
>
> Client threads from the global client thread pool have a lot of memory allocated in io.netty.buffer.PoolThreadCache instances. In our application, I have seen cases with 500 kB per client thread. With the thread pool changed to a fixed size pool with 500 threads, this added up to 250 MB.
> It looks this is caused by Netty's byte buffer pooling, since netty uses thread-local caching. So each Artemis client thread gets a separate byte buffer pool.
> To validate this assuption, I changed NettyConnection .createTransportBuffer to use .ioBuffer instead of .directBuffer. With that change, the whole memory allocation issue went away. But I don't know what other impact such a change would have. I guess I real fix would be more complicated.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)