[ 
https://issues.apache.org/jira/browse/TOMEE-2738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17525420#comment-17525420
 ] 

Artur Linhart commented on TOMEE-2738:
--------------------------------------

2,5 years, version TomEE 8.0.6 and still no progress here on this issue.

> TomEE windows service does not support Java Native Memory Tracking feature
> --------------------------------------------------------------------------
>
>                 Key: TOMEE-2738
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2738
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 7.0.0, 1.7.5, 7.1, 8.0.0-Final
>            Reporter: Artur Linhart
>            Priority: Major
>
> In the case the user specifies some from the the NativeMemoryTracking 
> parameters (see 
> [https://docs.oracle.com/en/java/javase/11/vm/native-memory-tracking.html#GUID-0DB3B8D1-8D7D-447F-B6FF-15620103EE47
>  
> |https://docs.oracle.com/en/java/javase/11/vm/native-memory-tracking.html#GUID-0DB3B8D1-8D7D-447F-B6FF-15620103EE47]
> ) like 
> -XX:NativeMemoryTracking=summary
> in Windows service registry, restarts the service, so the option can be seen 
> in the log file by the startup options, then the Native memory tracking is 
> still disabled and does not work. If you try with
> jcmd <pid> VM.native_memory summary
> to get the information about the native JVM memory in the tomcats JVM, the 
> jcmd call fails with the message
> <pid>:
> Native memory tracking is not enabled
> and in the Tomcat's log file can be found following error message:
> Java HotSpot(TM) 64-Bit Server VM warning: Native Memory Tracking did not 
> setup properly, using wrong launcher? 
> The problem seems to be in the JVM launcher Procrun, which dies not 
> initialize the JVM properly - as far as I have understood from this blog: 
> [https://blogs.oracle.com/poonam/using-nmt-with-custom-jvm-launcher 
> |https://blogs.oracle.com/poonam/using-nmt-with-custom-jvm-launcher]
> The Procrun.exe has to define some environment variable before the start of 
> JVM, etc. to get the native memory tracking to work.
> Known workaround is the start of Tomcat from the command line, but this is no 
> option in the productive environment, where you have to let the service run 
> for longer time to collect the proper result and maybe also as some different 
> user because of security concerns, then such option is simply out of possible 
> scenarios. So the Tomcat service JVM cannot be in such circumstances tracked 
> by NMT at all, what is the problem in the mission-critical applications.
> The Procrun should be modified in the way it enables the NMT in the windows 
> service by the startup, by setting the environment variable 
> NMT_LEVEL_<pid> to the value "detail" or "summary" (or "off" if unspecified) 
> in the dependency on the specified or unspecified option of 
> -XX:NativeMemoryTracking
> like done normally by java.exe
> Remark: Also change of the startup mode from "jvm" to "exe" or "java" does 
> not help,. then the windows service does not start at all.
> See also the Tomcat bug 
> [https://bz.apache.org/bugzilla/show_bug.cgi?id=63922|https://bz.apache.org/bugzilla/show_bug.cgi?id=63922]
> See also the bug [DAEMON-412].
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to