我有一个java程序(做很多内存操作)。我已经为进程(-Xmx)分配了10 to的java堆。系统总内存为30 GB。Java程序实际上占用了大约24 GB的内存(我可以从svmon输出中看到)。Java堆利用率低于10 GB (来自详细GC)。我想知道是什么在使用剩余的内存(24-10 = 14 GB内存)?它是本机堆吗?(我没有任何JNI代码或其他可以使用JNI代码的第三方libray )。您能告诉我如何监控本机内存使用情况吗?
操作系统:AIX
Java : IBM JVM 1.6
CPU : Power 7 SMT -4
发布于 2011-11-04 20:48:08
另一种类型的内存是非堆内存。尝试使用JConsole监控情况。
在这篇page about YourKit中,我读到:
非堆内存大小异常增长可能表明存在潜在问题,此时您可以检查以下内容:
发布于 2011-11-04 20:48:19
你用过分析器吗?这将帮助您准确定位哪些对象正在消耗内存& RAM中发生了什么
发布于 2011-11-04 20:48:36
谢谢你的记忆。
我只是把它放在这里:https://www.ibm.com/developerworks/java/library/j-nativememory-aix/
https://stackoverflow.com/questions/8009297
复制相似问题