Я получаю ошибки в моей JVM на примерно на той же фазе приложения, но с различными следами стека в отчете о сбое. Однако это всегда происходит во время GC.
Так как сбой происходит во всех трех JVM, которые я пробовал (OpenJDK 6, Oracle 1.6.0_25 и 1.7.0) и с двумя GC (Parallel Collector и CMS), и это происходит в одной и той же области приложения, я Я подумал, что если бы я мог найти то, что собирал GC, я мог бы обнаружить некоторую особенность в моем коде, которая вызывает этот сбой.
- Существуют ли какие-либо методы кодирования, которые, как известно, являются проблематичными для GC?
- Какие методы доступны для диагностики этой проблемы?
- Могу ли я сделать какие-либо обоснованные предположения о том, где в моем приложении возникает эта проблема?
- С какими параметрами (настройка ГХ) можно играть, чтобы сузить проблему?
- Есть ли способ обнаружить (возможно) проблемные данные в дампе кучи?