< prev index next >

src/hotspot/share/gc/g1/g1MonitoringSupport.hpp

Print this page
rev 51302 : imported patch 8209061-move-serviceability-to-monitoringsupport
rev 51303 : imported patch 8209062-cleanup-monitoringsupport
rev 51304 : [mq]: 8207200-getmemoryusage-consistency

*** 27,36 **** --- 27,37 ---- #include "gc/shared/collectorCounters.hpp" #include "gc/shared/generationCounters.hpp" #include "services/memoryManager.hpp" #include "services/memoryService.hpp" + #include "runtime/mutex.hpp" class CollectorCounters; class G1CollectedHeap; class HSpaceCounters; class MemoryPool;
*** 122,131 **** --- 123,134 ---- friend class VMStructs; friend class G1MonitoringScope; G1CollectedHeap* _g1h; + Mutex _update_mutex; + // java.lang.management MemoryManager and MemoryPool support GCMemoryManager _incremental_memory_manager; GCMemoryManager _full_gc_memory_manager; MemoryPool* _eden_pool;
*** 196,205 **** --- 199,210 ---- public: G1MonitoringSupport(G1CollectedHeap* g1h); ~G1MonitoringSupport(); void initialize_serviceability(); + + MemoryUsage memory_usage(); GrowableArray<GCMemoryManager*> memory_managers(); GrowableArray<MemoryPool*> memory_pools(); // Unfortunately, the jstat tool assumes that no space has 0 // capacity. In our case, given that each space is logical, it's
*** 228,247 **** // Monitoring support used by // MemoryService // jstat counters // Tracing size_t young_gen_committed() { return _young_gen_committed; } - size_t eden_space_committed() { return _eden_space_committed; } size_t eden_space_used() { return _eden_space_used; } - size_t survivor_space_committed() { return _survivor_space_committed; } size_t survivor_space_used() { return _survivor_space_used; } size_t old_gen_committed() { return _old_gen_committed; } size_t old_gen_used() { return _old_gen_used; } }; // Scope object for java.lang.management support. class G1MonitoringScope : public StackObj { TraceCollectorStats _tcs; --- 233,258 ---- // Monitoring support used by // MemoryService // jstat counters // Tracing + // Values may not be consistent wrt to each other. size_t young_gen_committed() { return _young_gen_committed; } size_t eden_space_used() { return _eden_space_used; } size_t survivor_space_used() { return _survivor_space_used; } size_t old_gen_committed() { return _old_gen_committed; } size_t old_gen_used() { return _old_gen_used; } + + // Monitoring support for MemoryPools. Values in the returned MemoryUsage are + // guaranteed to be consistent with each other. + MemoryUsage eden_space_memory_usage(size_t initial_size, size_t max_size); + MemoryUsage survivor_space_memory_usage(size_t initial_size, size_t max_size); + + MemoryUsage old_gen_memory_usage(size_t initial_size, size_t max_size); }; // Scope object for java.lang.management support. class G1MonitoringScope : public StackObj { TraceCollectorStats _tcs;
< prev index next >