Request for review: 7150058: Allocate symbols from null boot loader to an arena for NMT
coleen.phillimore at oracle.com
Fri Mar 9 13:33:40 PST 2012
The implementation of the Native Memory Tracker is that every "new" call
from CHeapObj will cause a record describing the allocation (addr, size,
pc) to be written to a per-thread storage area. This area is later
merged and sorted. Since every symbol symbol allocation is a separate
CHeapObj allocation, a lot of records are written during startup time,
particularly when classes are being loaded.
For the boot loader, these symbols are never deallocated, since the
symbols become unreferenced during class unloading. So it seems a
waste to create individual records for each. The native memory tracker
will report the size of the arena.
On 3/9/2012 2:06 PM, Fredrik Öhrström wrote:
> ----- coleen.phillimore at oracle.com skrev:
>> Please review this change to allocate symbols from the boot class
>> loader into a global arena. This change reduces reporting traffic at
>> startup for the native memory tracking project in development.
> Why does it reduce the reporting traffic for native memory tracking?
More information about the hotspot-runtime-dev