首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助处理非常奇怪的Java GC行为

帮助处理非常奇怪的Java GC行为
EN

Stack Overflow用户
提问于 2009-04-21 10:07:43
回答 2查看 696关注 0票数 1

我有一个运行在Apache后面的JBoss上的Java web应用(通过mod_jk),我看到了一些非常奇怪的GC行为。我已经在这个问题上附上了它的图表。以前有没有人看到过类似的GC行为?它是运行在服务器级机器上的Java6,带有来自人体工程学的默认GC调优。谢谢。

注意:上图是全尺寸版本的链接。该图是使用GCViewer生成的。

EN

回答 2

Stack Overflow用户

发布于 2009-04-21 11:03:10

问题似乎是,即使在完全垃圾回收之后,系统也无法恢复足够的内存。这也有负面影响,将对象提升到不属于那里的永久空间和幸存者空间。

老一代的大小应该随着时间的推移而稳定下来,大多数物体都是(或者至少应该是)非常短暂的。如果你发现老一代一直在增长,那么可能是某个地方的资源泄露了。从你的图表上看,一些分配似乎正在将系统推向边缘,进入gc死亡螺旋。

尝试了解正在创建哪些对象,更重要的是,了解它们存在多长时间。这将给你最好的想法,你应该在哪里寻找。

票数 5
EN

Stack Overflow用户

发布于 2009-04-21 10:27:47

我可以看到图像,但无法正确读取X和Y轴上的内容。我假设在JVM运行一段时间后,GC的频率会增加。这可能是因为你在那个时候得到了更多的负载。如果您打开了GC日志,那么您可以在中间检查JVM是否更改了GC策略。

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

https://stackoverflow.com/questions/771920

复制
相关文章

相似问题

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