Профилирование Java-приложений для выявления классов преступников

У нас есть веб-приложение Java, работающее на сервере. Он размещен с tomcat. Я включил запись полета, и я могу подключиться к JMC и записать полет...

Теперь я не уверен, как я могу найти классы, которые замедляют работу моего приложения. Позвольте мне прояснить, обычно сервер (60 посетителей) использует около 10% загрузки ЦП. Но иногда он становится очень ресурсоемким и продолжает использовать почти 100% ЦП (QUADCORE RAM: 16 ГБ). Но посетители нормальные, около 60... до сих пор так себя ведет. Мне нужно перезапустить кота.

Теперь я хочу найти класс виновника, который делает эту ресурсоемкую ситуацию.


person Fahad Ahammed    schedule 28.09.2016    source источник


Ответы (1)


Вы можете открыть консоль JMX в JMC и создать триггер для сброса записи, если загрузка ЦП превышает 90% или около того. Отметьте «при восстановлении из состояния».

Когда вы получаете запись, вы можете в навигаторе диапазонов на вкладке обзора выбрать интервал, в котором произошел всплеск ЦП, он должен быть в конце записи. Установите флажок «Синхронизировать» в правом верхнем углу и нажмите «Код» на левой панели, и вы увидите обзор классов/пакетов, в которых выполнялись самые горячие методы во время всплеска загрузки ЦП.

person Kire Haglin    schedule 29.09.2016