Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java: does GarbageCollectorMBean.getCollectionTime return pause time or something else?

Oracle's javadoc for GarbageCollectorMBean.getCollectionTime says, "Returns the approximate accumulated collection elapsed time in milliseconds." Is that specifically pause time or generally time spent by any of the garbage collector threads?

like image 401
user100464 Avatar asked Mar 18 '23 15:03

user100464


1 Answers

GarbageCollectorMBean.getCollectionTime() return cumulative wall clock time in milliseconds for specific algorithm.

For Stop-the-World algorithms (young collections usually) this could be interpreted as time application was paused.

For concurrent algorithms that value is perty useless, because it is not STW time and it is not CPU time (algorithm may use multiple threads, but wall clock time would be calculated).

Correct CPU time consumed by GC algorithm could be retrieved from performance counters (here is example of code reading these counters).

like image 140
Alexey Ragozin Avatar answered Apr 06 '23 13:04

Alexey Ragozin