[jdk21u-dev] RFR: 8320061: [nmt] Multiple issues with peak accounting

María Arias de Reyna duke at openjdk.org
Wed Apr 10 08:41:31 UTC 2024


This is a follow up of https://github.com/openjdk/jdk21u-dev/pull/440

This backport fixes several NMT things, among those, the problem with largest_committed being 0KB as shown on the previous PR.

Example of output:


$ jcmd 20088 VM.native_memory detail | grep "mmap: reserved="
                            (mmap: reserved=8388608KB, committed=618496KB, at peak) 
                            (mmap: reserved=1048576KB, committed=32064KB, at peak) 
                            (mmap: reserved=528392KB, committed=41416KB, at peak) 
                            (mmap: reserved=197140KB, committed=45380KB, at peak) 
                            (mmap: reserved=40KB, committed=36KB, at peak) 
                            (mmap: reserved=8KB, committed=8KB, at peak) 
                            (mmap: reserved=262144KB, committed=224640KB, at peak) 
                            (mmap: reserved=0KB, committed=0KB, peak=20KB) 

As described in the original PR, other features in this PR is fixing is the scale so it also shows when the allocation value is zero (note the GB now instead of showing KB as before, and the *0GB* that is shown):


$ jcmd 20088 VM.native_memory detail scale=g | grep "committed"
Total: reserved=11GB, committed=2GB
       mmap:   reserved=10GB, committed=1GB
-                 Java Heap (reserved=8GB, committed=1GB)
                            (mmap: reserved=8GB, committed=1GB, at peak) 
-                     Class (reserved=1GB, committed=0GB)
                            (mmap: reserved=1GB, committed=0GB, at peak) 
                            (    reserved=0GB, committed=0GB)
                            (    reserved=1GB, committed=0GB)
-                      Code (reserved=1GB, committed=0GB)
                            (mmap: reserved=1GB, committed=0GB, at peak) 
-                     Other (reserved=1GB, committed=1GB)
	[0x00000005c0000000 - 0x0000000601c00000] committed 1GB from
                             (reserved=8GB, committed=1GB Type=Java Heap)
                             (reserved=1GB, committed=0GB Type=Class)
                             (reserved=1GB, committed=0GB Type=Code)

-------------

Depends on: https://git.openjdk.org/jdk21u-dev/pull/440

Commit messages:
 - Backport dc256fbc6490f8163adb286dbb7380c10e5e1e06

Changes: https://git.openjdk.org/jdk21u-dev/pull/481/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=481&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8320061
  Stats: 634 lines in 15 files changed: 337 ins; 83 del; 214 mod
  Patch: https://git.openjdk.org/jdk21u-dev/pull/481.diff
  Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/481/head:pull/481

PR: https://git.openjdk.org/jdk21u-dev/pull/481


More information about the jdk-updates-dev mailing list