Мне нужен gui инструмент для мониторинга каждого java процесса его памяти, использования cpu и др.
так что может ли кто-нибудь предложить мне какие-нибудь инструменты?
Возможно, вы обнаружите, что VisualVM соответствует вашим требованиям, особенно с некоторыми из подключаемых модулей(Visual GC, в частности ).
VisualVM может отслеживать использование ЦП и памяти, а также профилировать код, работающий на JVM. С Visual GC вы также получаете подробный мониторинг GC.
Чтобы загрузить и запустить VisualVM, в дистрибутивах, где он не упакован:
wget https://github.com/visualvm/visualvm.src/releases/download/1.3.9/visualvm_139.zip
unzip visualvm_139.zip
cd visualvm_139
./bin/visualvm
О Debian и его производных, где он упакован:
apt install visualvm
visualvm
Если вы хотите контролировать JVM, работающую в удаленной системе, есть лучший подход, чем пытаться запустить графический интерфейс в удаленной системе. :вы можете запустить jstatd
в удаленной системе, запустить VisualVM в локальной system и подключитесь к экземпляру jstatd
удаленной системы. Подробнее см. Работа с удаленными приложениями в документации VisualVM. Имейте в виду, что jstatd
не является безопасным, поэтому вам следует быть осторожным (прочитать его документацию для некоторых обходных путей ).
Вы также можете использовать Java Mission Control :jmc commnad, одной из лучших функций является Flight Recoder, который может профилировать ваше приложение почти без накладных расходов.