JMC: различия между версиями

Материал из Home Wiki
Перейти к навигации Перейти к поиску
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
== Источник ==
Видео: https://www.youtube.com/watch?v=wm2JNlaJJ5k
Видео: https://www.youtube.com/watch?v=wm2JNlaJJ5k
GIT: https://github.com/aragozin/optaplanner-bench


GIST: https://gist.github.com/aragozin/6ac622de6328a1b6ee58a1bf6f2e523d
GIST: https://gist.github.com/aragozin/6ac622de6328a1b6ee58a1bf6f2e523d
Строка 5: Строка 8:
JMC: https://download.oracle.com/otn-pub/java/jmc/7.1.2+04/a4634525489241b9a9e1aa73d9e118e6/jmc-7.1.2_windows-x64.zip
JMC: https://download.oracle.com/otn-pub/java/jmc/7.1.2+04/a4634525489241b9a9e1aa73d9e118e6/jmc-7.1.2_windows-x64.zip


== Weblogic ==
Для подключения к weblogic нужно докинуть  wlclient.jar, wljmxclient.jar в катоалог с jmc и настроить jmc.ini:
Для подключения к weblogic нужно докинуть  wlclient.jar, wljmxclient.jar в катоалог с jmc и настроить jmc.ini:


Строка 10: Строка 14:
-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
-Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
-Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
-Xbootclasspath/a:wlclient.jar;wljmxclient.jar
-Xbootclasspath/a:wlclient.jar;wljmxclient.jar ### !!! Тут ; или : в зависимости от ОС
</syntaxhighlight>
 
== Локальное профилирование ==
 
Если не видим локальные процессы, то варианта два: 1. в папку hsperfdata_<UserName> нет доступа по записи или 2. запустили JMC с помощью jre.
 
1 вариант решается доступами или удалением каталога.
 
2 вариант проблемы решается прописыванием JDK в jmc.ini:
<syntaxhighlight lang="ini">
-vm
D:\Program Files\Zulu\zulu-8\bin\
</syntaxhighlight>
</syntaxhighlight>
== Применение ==
Применяем профилирование когда мы уверены, что наш код грузит CPU и ничего не ждет (нет ожидания IO).
Для выявления какой же поток сжирает CPU делаем Start JMX Console и идем на вкладочку Threads, там ставим галочку CPU Profiling.

Версия 10:45, 27 ноября 2020

Источник

Видео: https://www.youtube.com/watch?v=wm2JNlaJJ5k

GIT: https://github.com/aragozin/optaplanner-bench

GIST: https://gist.github.com/aragozin/6ac622de6328a1b6ee58a1bf6f2e523d

JMC: https://download.oracle.com/otn-pub/java/jmc/7.1.2+04/a4634525489241b9a9e1aa73d9e118e6/jmc-7.1.2_windows-x64.zip

Weblogic

Для подключения к weblogic нужно докинуть wlclient.jar, wljmxclient.jar в катоалог с jmc и настроить jmc.ini:

-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
-Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
-Xbootclasspath/a:wlclient.jar;wljmxclient.jar ### !!! Тут ; или : в зависимости от ОС

Локальное профилирование

Если не видим локальные процессы, то варианта два: 1. в папку hsperfdata_<UserName> нет доступа по записи или 2. запустили JMC с помощью jre.

1 вариант решается доступами или удалением каталога.

2 вариант проблемы решается прописыванием JDK в jmc.ini:

-vm
D:\Program Files\Zulu\zulu-8\bin\

Применение

Применяем профилирование когда мы уверены, что наш код грузит CPU и ничего не ждет (нет ожидания IO).

Для выявления какой же поток сжирает CPU делаем Start JMX Console и идем на вкладочку Threads, там ставим галочку CPU Profiling.