2015-11-06 57 views
0

我有一个程序没有用完堆,但使用匿名/本地内存的增长和增长。我怎么去弄清楚什么是使用这个内存?如何判断匿名内存的使用情况?

+1

Java HPROF? HPROF:http://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html – JJF

回答

0

检查一个堆转储为DirectByteBuffer对象,并保留它们。文件映射也是一个原因,但是你说匿名映射,这可能不是问题,因为这些将被命名。

对于某些事情native memory tracking也许是有用的。

如果既不是DirectByteBuffer实例,也不是由VM管理的其他内存池,它可能是您的应用程序使用的某个本地库。

+0

谢谢!如何获得DirectByteBuffer的堆转储? –