首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java程序正在消耗大量内存(增长为Xmx的1.5倍)

Java程序正在消耗大量内存(增长为Xmx的1.5倍)
EN

Stack Overflow用户
提问于 2011-11-04 20:39:33
回答 4查看 1.9K关注 0票数 1

我有一个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

EN

回答 4

Stack Overflow用户

发布于 2011-11-04 20:48:08

另一种类型的内存是非堆内存。尝试使用JConsole监控情况。

在这篇page about YourKit中,我读到:

非堆内存大小异常增长可能表明存在潜在问题,此时您可以检查以下内容:

  • 如果存在类加载问题,如泄漏的加载器。在这种情况下,如果有字符串被大量驻留,则可以借助类加载器视图.
  • 来解决问题。要检测此类问题,可以使用分配记录。
票数 2
EN

Stack Overflow用户

发布于 2011-11-04 20:48:19

你用过分析器吗?这将帮助您准确定位哪些对象正在消耗内存& RAM中发生了什么

票数 0
EN

Stack Overflow用户

发布于 2011-11-04 20:48:36

谢谢你的记忆。

我只是把它放在这里:https://www.ibm.com/developerworks/java/library/j-nativememory-aix/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8009297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档