On Wed, 24 May 2023 16:50:55 GMT, Paul Hohensee <p...@openjdk.org> wrote:

>> Please review this addition to com.sun.management.ThreadMXBean that returns 
>> the total number of bytes allocated on the Java heap since JVM launch by 
>> both terminated and live threads.
>> 
>> Because this PR adds a new interface method, I've updated the JMM_VERSION to 
>> 4, but would be happy to update it to 3_1 instead.
>
> Paul Hohensee has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Merge master

Yes, I saw your comment and have been thinking about how to fix it, but haven't 
come up with anything. Ramki (ysr) pointed out that walking the thread list 
using SMR is very expensive when there are 1000s of threads, and that there 
isn't much overhead to collecting per-thread statistics: a thread local counter 
is incremented when TLABs are retired or there are direct allocations of large 
objects in eden or the old gen. So, he suggested adding an atomic increment of 
a global counter whenever a thread local counter is incremented. Atomic 
operations have been completing in the LLC (i.e., on-chip) for some time now, 
so the overhead is pretty small. What do you think, shall I reimplement that 
way?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13814#issuecomment-1562983030

Reply via email to