You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Francesco Nigro (Jira)" <ji...@apache.org> on 2021/01/05 14:09:00 UTC
[jira] [Updated] (ARTEMIS-3051) Fix
MessageReferenceImpl::getMemoryEstimate
[ https://issues.apache.org/jira/browse/ARTEMIS-3051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Nigro updated ARTEMIS-3051:
-------------------------------------
Description:
MessageReferenceImpl::memoryOffset is used on MessageReferenceImpl::getMemoryEstimate: it reports 64 bytes.
[https://github.com/openjdk/jol] is reporting 72 bytes for OpenJDK 64 bit using COOPS and 8 bytes alignment, that's very common, and that's a more accurate estimated footprint value.
To be honest, a full-fat 64 bit JVM would use 112 bytes instead, but that could be improved in a bigger follow-up PR.
The interesting thing is that paging will be positively affected by this change, because the broker won't under-estimate the memory footprint of many references, triggering paging sooner.
was:
MessageReferenceImpl::memoryOffset is used on MessageReferenceImpl::getMemoryEstimate: it reports 64 bytes.
[https://github.com/openjdk/jol] is reporting 72 bytes for OpenJDK 64 bit using COOPS and 8 bytes alignment, that's very common, and that's a more accurate estimated footprint value.
To be honest, a full-fat 64 bit JVM would use 112 bytes instead, but that could be improved in a bigger follow-up PR.
> Fix MessageReferenceImpl::getMemoryEstimate
> -------------------------------------------
>
> Key: ARTEMIS-3051
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3051
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.16.0
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
> Priority: Minor
> Time Spent: 10m
> Remaining Estimate: 0h
>
> MessageReferenceImpl::memoryOffset is used on MessageReferenceImpl::getMemoryEstimate: it reports 64 bytes.
> [https://github.com/openjdk/jol] is reporting 72 bytes for OpenJDK 64 bit using COOPS and 8 bytes alignment, that's very common, and that's a more accurate estimated footprint value.
> To be honest, a full-fat 64 bit JVM would use 112 bytes instead, but that could be improved in a bigger follow-up PR.
>
> The interesting thing is that paging will be positively affected by this change, because the broker won't under-estimate the memory footprint of many references, triggering paging sooner.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)