我有一个在 Websphere Application Server 6.0 上运行的应用程序,由于内存不足,它几乎每天都会崩溃。从详细的 GC 可以确定存在内存泄漏(其中很多)
不幸的是,该应用程序是由外部供应商提供的,修复问题是一个缓慢而痛苦的过程。作为该过程的一部分,我需要在每次 OOM 发生时收集日志和堆转储。
现在我正在寻找一些方法来自动化它。根本问题是如何检测 OOM 状况。一种方法是创建将定期搜索新堆转储的 shell 脚本。这种方法让我觉得有点脏。另一种方法可能是以某种方式利用 JMX。但我在这方面的经验很少或根本没有,也不知道如何去做。
还是在 WAS 中为此提供了某种触发器/挂钩?非常感谢您的每一个建议!