Concurrent heap monitoring

Kemper, William kemperw at amazon.com
Fri May 20 21:46:31 UTC 2022


Taking a heap dump is a stop the world event. Garbage collection events can provide heap utilization information only after a cycle completes. We've found that detailed heap occupancy data (such as heap inspections provide) are too expensive to use for production monitoring.  Similarly, we find that heap statistics generated from collection cycles may come too late and may not provide enough detail (young collections do not reflect the state of the old generation). We have developed a prototype feature to provide detailed heap metrics concurrently, without barriers. It therefore provides only an estimate as changes to the object graph may cause it to miss objects. We would like to hear the thoughts of serviceability experts on such a thing. It is only at the proof of concept phase, but it is able to run popular benchmarks (specjbb, dacapo) with minimal overhead and the estimates are sufficiently accurate for our use cases (monitoring heap and object growth rates).


Thank you for reading,

William
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20220520/c328f9cf/attachment.htm>


More information about the serviceability-dev mailing list