VisualVM — выборка памяти в Windows 8 — Tomcat 7 как служба

Я использую VisualVm для профилирования в веб-приложении, но кнопка памяти отключена на вкладке Sampler.

Я использую Windows 8, Tomcat 7, VisualVM 1.7.0_09 (сборка 120605) и JDK 1.6.0_11.

Я пробовал некоторые обходные пути (запустить службу tomcat от имени текущего пользователя, установить температуру каталины такой же, как у visualvm ), но ни один из них не работает, я где-то читал, что после Vista это, похоже, не работает.

Могу ли я выполнить профилирование памяти в этом сценарии?


person AndreFonseca    schedule 02.07.2013    source источник


Ответы (1)


В той же ситуации мне помогло использование той же версии Java JDK и Java JRE на моем локальном Tomcat. Оказалось, что мой Tomcat использует JDK 1.6.0_45 и JRE 1.6.0_20.

Чтобы проверить версию JRE в вашей системе, откройте консоль и напишите "java -version"
Чтобы проверить версию JDK в вашей системе, откройте консоль и напишите "javac -version"

Создайте две системные переменные, указывающие на расположение JDK и JRE, например:
переменная JAVA_HOME с путем "C:\Program Files\Java\jdk1.6.0_45"
переменная JRE_HOME с путем "C:\Program Files\ Java\jre6"

Отредактируйте системную переменную «Путь» и добавьте эту строку в конец ее значения: «%JAVA_HOME%/bin;%JRE_HOME%/bin»

Перезарегистрируйтесь в вашей системе, ваши системные переменные теперь будут работать.

Tomcat будет использовать эти системные переменные автоматически, как указано в разделе комментариев catalina.bat:

JAVA_HOME       Must point at your Java Development Kit installation.
                Required to run the with the "debug" argument.

JRE_HOME        Must point at your Java Runtime installation.
                Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
                are both set, JRE_HOME is used.

Перейдите в свою папку tomcat\bin и запустите файл «catalina.bat», чтобы проверить, правильно ли установлена ​​переменная JRE_HOME.

СОВЕТ. Если у вас есть файл "setenv.bat" в папке bin Tomcat, убедитесь, что в нем нет ничего похожего на "set "JRE_HOME=..."", потому что он перезапишет ваш системная переменная, и вы этого не хотите.

После того, как все настроено, перейдите в VisualVM -> дважды щелкните свой экземпляр Tomcat -> обзор -> Свойства системы -> скопируйте его в какой-нибудь текстовый редактор и найдите слова «jdk» и «jre». Версии рядом с ними теперь должны совпадать.

Теперь должно быть доступно профилирование памяти.

person Celebes    schedule 08.08.2013