Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Not able to enable Native memory tracking in a spring boot application

I am trying to enable NMT in my spring boot application like this

 java -jar -Dlogging.config=log4j2.xml -XX:NativeMemoryTracking=summary application.jar 

However, I get a warning

Java HotSpot(TM) 64-Bit Server VM warning: Native Memory Tracking did not setup properly, using wrong launcher?

How can I enable NMT for an application running on embedded tomcat?

like image 244
AbhinavRanjan Avatar asked Dec 28 '18 07:12

AbhinavRanjan


1 Answers

Change the order of arguments:

java -XX:NativeMemoryTracking=summary -Dlogging.config=log4j2.xml -jar application.jar

This is a pecularity of java launcher. -XX:NativeMemoryTracking must be handled both by the launcher and by the JVM in order to take effect. However, the launcher stops processing arguments as soon as it sees a terminal option. -jar is one them.

like image 115
apangin Avatar answered Sep 20 '22 13:09

apangin