Java process memory usage: jcmd vs Windows Resource Monitor

505 Views Asked by At

I'm at a loss regarding the reported memory usage of my Java application (deployed on JBoss EAP) when under load. The java.exe process memory as shown by Windows Resource Monitor is much higher than what is reported by jcmd VM.native_memory.

How can I investigate the difference?

Example

  • jcmd: Total: reserved=8417542KB, committed=7308422KB
  • Windows Resource Monitor: Commit ("zugesichert") 12270304 KB java.exe as reported by Windows Resource Monitor

Environment

  • Oracle JDK 11.0.18
    • Heap size (Xmx) 6 GB [fully committed according to jcmd]
    • G1 GC
  • JBoss EAP 7.4.8
  • Windows Server 2016
  • The machine is a Hyper-V hosted VM with 8 GB RAM

Further observations

Memory usage as per Resource Monitor keeps growing continually while under load whereas the values reported by jcmd seem to stabilize around 8.5 GB reserved and 7ish GB committed.

0

There are 0 best solutions below