如何解决生产系统上的内存不足错误

2023-11-29

我们在 Windows 上使用 JBoss_4_0_4_GA 和 JDK 1.5.0(无更新)

JBoss 服务器在 Wrapper 中运行(版本 3.2.3)http://wrapper.tanukisoftware.org.

由于 JVM 太旧了,我什至无法在 JVM 上使用 -XX:+HeapDumpOnOutOfMemoryError 选项。

我可以选择什么来找出问题?

与往常一样,内存不足异常发生在应用程序的不同部分。

我没有立即升级 JVM 的自由。

    The current VM settings
    Java Additional Parameters
    wrapper.java.additional.1=-Xms512m
    wrapper.java.additional.2=-Xmx1024m
    wrapper.java.additional.3=-Dsun.rmi.dgc.client.gcInterval=3600000
    wrapper.java.additional.4=-Dsun.rmi.dgc.server.gcInterval=3600000
    wrapper.java.additional.5=-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser
    wrapper.java.additional.6=-Djava.endorsed.dirs=D:/jboss-4.0.4.GA/lib/endorsed

异常的片段

信息| JVM 1 | 2012/05/31 11:25:03 | 11:25:03,502 错误 [SOAPFaultExceptionHelper] SOAP 请求异常信息 | JVM 1 | 2012/05/31 11:25:03 | java.rmi.RemoteException:java.lang.OutOfMemoryError:Java堆空间;嵌套异常是:INFO | JVM 1 | 2012/05/31 11:25:03 | java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:Java堆空间

信息| JVM 1 | 2012/05/31 11:25:03 |引起原因:java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:Java堆空间INFO | JVM 1 | 2012/05/31 11:25:03 |在 java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205) 信息 | JVM 1 | 2012/05/31 11:25:03 |在 java.util.concurrent.FutureTask.get(FutureTask.java:80)


您可以尝试使用以下命令进行内存转储jmap(在你提到的标签中java 5所以这应该是可能的)。当服务器仍然工作时(例如每小时左右)进行几次转储。

然后分析它们Eclipse 垫。搜索每次转储时都会变大的对象或对象集合。这很可能是你的内存泄漏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决生产系统上的内存不足错误 的相关文章

随机推荐