我正在尝试收集AIX上的Java核心(Java版本1.6)。 只configuration了一个转储代理程序,它在每个SIGQUIT上收集系统转储,堆转储和Java核心,因此我使用HealthCenter仅请求一个javacore。 这工作正常,它没有启动堆转储或系统转储,但它导致WebLogic(我知道)服务器挂起172s(秒,而不是毫秒),而它倒出,并产生的文件是88MB。 我不知道什么可能导致javacore转储需要这么长时间,为什么它会如此之大。
本演示文稿中的幻灯片3指出,它应该花费几百毫秒,大约为2MB,这与我看到的HotSpot非常相似。 我知道这是在谈论Java 5,但单一的主要版本增加不能造成如此巨大的差异!
这可能是因为花了这么长时间? 有什么我可以做的,以加快?
仅供参考: 堆大小为16GB,但在卸载时还不到半满。 转储中也没有本机内存信息,并且使用IBM TMDA拒绝正确显示线程详细信息窗格。 每次转储都有大约310个线程。