Мне нужен способ запросить дамп кучи из приложения .
Обоснование: Когда я сталкиваюсь с определенной ошибкой, я хотел бы сбросить кучу, чтобы я мог видеть, что удерживает память.
Но я бы хотел автоматизировать это (например, когда я обнаружил, что произошло какое-то конкретное состояние. Или когда сторожевой таймер больше не получает свои сигналы. Когда какой-то тест не пройден). Таким образом, мне нужен способ вывести кучу изнутри самого приложения. Я не могу найти это с вещами MX-бобов. Хотя MX Beans может давать очень хорошие трассировки стека с информацией о мониторе и "собственном синхронизаторе", сведениях о взаимоблокировке и конфликтах, я не могу найти способ запросить дамп кучи. Есть ли такой способ? Или каким-то косвенным способом, например, как эти вещи JVisualVM делают это? И можно сказать, что JVM выгрузит ядро на OutOfMemoryExceptions ..?