[ 
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 using JOL on the test suite to double 
check footprint.

 

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.

 

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.

 


> 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 using JOL on the test suite to 
> double check footprint.
>  
> 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)

Reply via email to