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

Reply via email to