Я запускаю JVisualVM (Windows XP, Sun Java 1.6.0.13, 32-разрядная клиентская виртуальная машина) для мониторинга удаленного приложения (Linux, Sun Java 1.6.0.07, 64-разрядная серверная виртуальная машина). Перед запуском фактического удаленного приложения я запускаю на удаленном компьютере jstatd
, используя политику полного доступа:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
Затем я запускаю само приложение, используя командную строку
java -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=3333
compileTest.Main
С клиентского компьютера я вижу удаленное приложение и наблюдаю за ним. Я также могу сделать дамп потока и т. Д. К сожалению, кнопка дампа кучи неактивна.
Как получить дамп кучи из удаленно отслеживаемого приложения с использованием JVisualVM?
Я пытался использовать jConsole. С помощью jConsole можно создать дамп кучи distant , используя операцию dumpHeap com.sun.management.HotSpotDiagnostic. Я хочу, чтобы дамп передавался на клиентскую сторону и анализировался с помощью инструментов, предоставляемых JVisualVM. Как я могу это сделать?