首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IBM JDK为每个OutOfMemory转储了太多的堆。我怎样才能减少这个#?

IBM JDK为每个OutOfMemory转储了太多的堆。我怎样才能减少这个#?
EN

Stack Overflow用户
提问于 2015-01-29 12:20:58
回答 1查看 206关注 0票数 0

我们是IBM jvm的新手。在查看由OutOfMemoryError (即-XX:+HeapDumpOnOutOfMemoryError)引起的堆转储时,我们经常会看到在同一时刻生成多个转储(.phd文件)。示例:

heapdump.20141111.011601.8944.0003.phd heapdump.20141111.011601.8944.0005.phd heapdump.20141111.011601.8944.0007.phd heapdump.20141111.011601.8944.0009.phd

当我读到这些时,jvm在2014-11-11 01:16:01生成了4个堆转储,pid为#8944。

那么为什么是4呢?为什么在同一秒内有4个?我假设是因为4个OOM实际上在同一秒内发生

回顾这些转储,我发现它们非常相似。转储2、3和4不会添加任何信息,只会使硬盘变得混乱和充满。

如何将IBM配置为只转储一个堆转储?我可以在堆转储之间配置“等待时间”吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-01-29 23:07:46

不能100%确定多个转储的原因,可能是转储/恢复过程正在生成另一个OOM。

可以使用IBM JDK -Xdump选项(控制转储代理和转储的使用方式)通过提供range来限制在OutOfMemoryErrors上获得的转储数量。

例如,要将数量限制为单个转储,请使用范围0..1:-Xdump:heap:range=0..1

缺省范围是1..4,您可以通过使用-Xdump:what运行JVM来查看它

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

https://stackoverflow.com/questions/28206958

复制
相关文章

相似问题

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