我的团队在尝试进行由 OutOfMemoryErrors 触发的良好堆转储时遇到了困难。出于特定原因,我们目前正在使用从 bash 脚本调用的 jmap 进行转储,而不是使用 HeapDumpOnOutOfMemoryError 标志。我们使用的是 64 位 1.6 JVM,堆大小约为 3 GB。我们的堆转储失败 90% 的时间(猜测)。
有什么我们可以做的事情来提高我们获得干净的堆转储的几率,我们可以用它来解决内存问题吗?我已经读到 jmap 在 Java 1.4 中存在重大问题,但现在应该主要解决这些问题。