Skip to content

Commit 77dbcd8

Browse files
committedFeb 7, 2023
8301641: NativeMemoryUsageTotal event uses reserved value for committed field
Reviewed-by: eosterlund, stefank
1 parent 1aaf394 commit 77dbcd8

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed
 

‎src/hotspot/share/services/nmtUsage.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ size_t NMTUsage::total_reserved() const {
115115
}
116116

117117
size_t NMTUsage::total_committed() const {
118-
return _malloc_total + _vm_total.reserved;
118+
return _malloc_total + _vm_total.committed;
119119
}
120120

121121
size_t NMTUsage::reserved(MEMFLAGS flag) const {

‎test/jdk/jdk/jfr/event/runtime/TestNativeMemoryUsageEvents.java

+12
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,17 @@ private static void verifyHeapGrowth(List<RecordedEvent> events) throws Exceptio
147147
assertGreaterThan(lastSample, firstSample, "heap should have grown and NMT should show that");
148148
}
149149

150+
private static void verifyTotalDiffBetweenReservedAndCommitted(List<RecordedEvent> events) throws Exception {
151+
RecordedEvent firstTotal = events.stream()
152+
.filter(e -> e.getEventType().getName().equals(UsageTotalEvent))
153+
.findFirst().orElse(null);
154+
155+
// Verify that the first total event has more reserved than committed memory.
156+
long firstReserved = firstTotal.getLong("reserved");
157+
long firstCommitted = firstTotal.getLong("committed");
158+
assertGreaterThan(firstReserved, firstCommitted, "initial reserved should be greater than initial committed");
159+
}
160+
150161
private static void verifyNoUsageEvents(List<RecordedEvent> events) throws Exception {
151162
Events.hasNotEvent(events, UsageEvent);
152163
Events.hasNotEvent(events, UsageTotalEvent);
@@ -167,6 +178,7 @@ public static void main(String[] args) throws Exception {
167178
if (nmtEnabled) {
168179
verifyExpectedEventTypes(events);
169180
verifyHeapGrowth(events);
181+
verifyTotalDiffBetweenReservedAndCommitted(events);
170182
} else {
171183
verifyNoUsageEvents(events);
172184
}

0 commit comments

Comments
 (0)