Как определить, какой запущенный процесс использует Java?

9

Я смотрю на «верхний» вывод на моем сервере Linux. Я вижу, что команда 'java' занимает много памяти. Как я могу использовать этот PID и т. Д., Чтобы увидеть, какой процесс фактически запустил jvm?

Кроме того, этот процесс на самом деле JVM или просто какая-то общая команда?

В конечном счете, я просто хочу увидеть больше информации об этой команде / процессе, а не просто «java».

durden2.0
источник

Ответы:

12

Вы можете использовать команду ps, чтобы получить расширенную информацию о команде, которая запустила процесс:

ps -fp <pid>

Также вы можете получить информацию о каждом Java-процессе с помощью ps:

ps -ef | grep java | grep -v grep
scriptmonster
источник
Отлично. Работает как шарм!
durden2.0
3
Просто к вашему сведению, я также просмотрел справочную страницу для «top» и обнаружил, что использование «c» переключает между «командной строкой» (по умолчанию) и «именем программы». Таким образом, в моем случае, глядя на «top», я могу нажать «c» и увидеть название приложения.
durden2.0
1
Вы также можете использовать pstreeкоманду, чтобы получить более наглядное представление родительских дочерних отношений процесса.
Брайан Свифт
1

Вы можете использовать утилиты jpsи jcmdJava для отображения запущенных процессов Java. Изучите их варианты, чтобы узнать больше о том, что они могут предоставить.

Мухаммед Гелбана
источник