Minha equipe está enfrentando dificuldades ao tentar obter bons despejos de heap acionados por OutOfMemoryErrors. Por motivos específicos, atualmente estamos fazendo os dumps com o jmap chamado de um script bash, em vez de usar o sinalizador HeapDumpOnOutOfMemoryError. Estamos usando uma JVM 1.6 de 64 bits e um tamanho de heap em torno de 3 GB. Nossos despejos de heap falham 90% do tempo (estimativa de estimativa).
Existe algo que possamos fazer para melhorar nossas chances de obter um despejo de heap limpo que possamos usar para solucionar problemas de memória? Eu li que o jmap tinha grandes problemas no Java 1.4, mas que esses problemas deveriam ser abordados principalmente agora.