XX:NativeMemoryTracking本机内存跟踪由于超出本机内存而已关闭

时间:2016-01-12 17:35:38

标签: java memory-management

我尝试使用带有摘要详细信息值的-XX:NativeMemoryTracking获取内存使用统计信息。

然后调用jcmd pid VM.native_memory summary *(or detail)*

始终出现错误"本机内存跟踪由于超出本机内存而被关闭" 我有12Gb RAM我尝试过给2GB或10GB,我尝试了一切,但不能理解什么是错的。

我用

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

2 个答案:

答案 0 :(得分:1)

试试-XX:-AutoShutdownNMT

  

NMT会在检测到资源状况不佳时自行关闭,例如在本机内存不足时运行。有时可能是您真正想要数据的情况!

来自here

答案 1 :(得分:0)

可以理解,Native Memory Tracker本身可能会使用一些本机内存。我建议您使用另一个应用程序来跟踪您的jvm的本机内存使用情况,或使用您的操作系统提供的工具。在Windows上,您可以使用perfmon和Linux ps -p <PID> -o vsz

有关详细信息,请参阅http://www.techpaste.com/2012/07/steps-debugdiagnose-memory-memory-leaks-jvm/