Я пытаюсь диагностировать проблему утечки памяти PermGen на сервере приложений Sun One 9.1. Для этого мне нужно получить дамп кучи процесса JVM. К сожалению, процесс JVM версии 1.5 работает в Windows. По-видимому, ни один из способов запуска дампа кучи не поддерживает эту настройку. Я могу заставить JVM сделать дамп кучи после того, как у него закончится память или когда он выключится, но мне нужно иметь возможность получать дампы кучи в произвольные моменты времени.
Два часто упоминаемых способа получения дампов кучи - либо использование jmap, либо использование HotSpotDiagnostic MBean. Ни один из них не поддерживает jvm 1.5 в Windows.
Есть метод, который я пропустил? Если есть способ программно запустить дамп кучи (без использования HotSpotDiagnostic MBean), это тоже подойдет ...
Если на самом деле это невозможно сделать в Windows, я думаю, мне придется прибегнуть к созданию виртуальной машины Linux и выполнить там отладку.
Спасибо.