Home > Software engineering >  How to track JVM native memory
How to track JVM native memory

Time:06-22

JVM native memory leak is suspected, so I want to track memory.

I tried Native tracking using the JVM tuning flag as follows, but I couldn't find a memory leak point.

java -XX:NativeMemoryTracking=detail

Probably because of the following reasons in the document.

NMT in this release does not track third party native code memory allocations and JDK class libraries. 
Also, this release does not include NMT MBean in HotSpot for JMC.

Is there any other way to track JVM native memory?

CodePudding user response:

There are several tools that you can use. I'll refer to this excellent answer by apangin: Java using much more memory than heap size (or size correctly Docker memory limit) I strongly encourage you to read all of that but for your question, this in particular is relevant:

There are tools and techniques for investigating issues with Java memory consumption: Native Memory Tracking, pmap, jemalloc, async-profiler.

  • Related