0
我有一个程序没有用完堆,但使用匿名/本地内存的增长和增长。我怎么去弄清楚什么是使用这个内存?如何判断匿名内存的使用情况?
我有一个程序没有用完堆,但使用匿名/本地内存的增长和增长。我怎么去弄清楚什么是使用这个内存?如何判断匿名内存的使用情况?
检查一个堆转储为DirectByteBuffer
对象,并保留它们。文件映射也是一个原因,但是你说匿名映射,这可能不是问题,因为这些将被命名。
对于某些事情native memory tracking也许是有用的。
如果既不是DirectByteBuffer实例,也不是由VM管理的其他内存池,它可能是您的应用程序使用的某个本地库。
谢谢!如何获得DirectByteBuffer的堆转储? –
Java HPROF? HPROF:http://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html – JJF