mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd Reviewed-by: acorn, coleenp, fparain
This commit is contained in:
parent
8e42425c92
commit
a39b17624a
315 changed files with 7245 additions and 1477 deletions
|
@ -166,15 +166,15 @@ void MemoryManager::oops_do(OopClosure* f) {
|
|||
|
||||
GCStatInfo::GCStatInfo(int num_pools) {
|
||||
// initialize the arrays for memory usage
|
||||
_before_gc_usage_array = (MemoryUsage*) NEW_C_HEAP_ARRAY(MemoryUsage, num_pools);
|
||||
_after_gc_usage_array = (MemoryUsage*) NEW_C_HEAP_ARRAY(MemoryUsage, num_pools);
|
||||
_before_gc_usage_array = (MemoryUsage*) NEW_C_HEAP_ARRAY(MemoryUsage, num_pools, mtInternal);
|
||||
_after_gc_usage_array = (MemoryUsage*) NEW_C_HEAP_ARRAY(MemoryUsage, num_pools, mtInternal);
|
||||
_usage_array_size = num_pools;
|
||||
clear();
|
||||
}
|
||||
|
||||
GCStatInfo::~GCStatInfo() {
|
||||
FREE_C_HEAP_ARRAY(MemoryUsage*, _before_gc_usage_array);
|
||||
FREE_C_HEAP_ARRAY(MemoryUsage*, _after_gc_usage_array);
|
||||
FREE_C_HEAP_ARRAY(MemoryUsage*, _before_gc_usage_array, mtInternal);
|
||||
FREE_C_HEAP_ARRAY(MemoryUsage*, _after_gc_usage_array, mtInternal);
|
||||
}
|
||||
|
||||
void GCStatInfo::set_gc_usage(int pool_index, MemoryUsage usage, bool before_gc) {
|
||||
|
@ -214,8 +214,8 @@ GCMemoryManager::~GCMemoryManager() {
|
|||
|
||||
void GCMemoryManager::initialize_gc_stat_info() {
|
||||
assert(MemoryService::num_memory_pools() > 0, "should have one or more memory pools");
|
||||
_last_gc_stat = new(ResourceObj::C_HEAP) GCStatInfo(MemoryService::num_memory_pools());
|
||||
_current_gc_stat = new(ResourceObj::C_HEAP) GCStatInfo(MemoryService::num_memory_pools());
|
||||
_last_gc_stat = new(ResourceObj::C_HEAP, mtGC) GCStatInfo(MemoryService::num_memory_pools());
|
||||
_current_gc_stat = new(ResourceObj::C_HEAP, mtGC) GCStatInfo(MemoryService::num_memory_pools());
|
||||
// tracking concurrent collections we need two objects: one to update, and one to
|
||||
// hold the publicly available "last (completed) gc" information.
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue