Wie bestimme ich, welcher laufende Prozess Java verwendet?

9

Ich sehe mir die 'Top'-Ausgabe auf meinem Linux-Server an. Ich sehe, dass der Befehl 'java' viel Speicherplatz beansprucht. Wie kann ich diese PID usw. verwenden, um zu sehen, welcher Prozess den JVM tatsächlich gestartet hat?

Ist dieser Prozess tatsächlich der JVM oder nur ein generischer Befehl?

Letztendlich möchte ich nur eine Möglichkeit, mehr Informationen über diesen Befehl / Prozess zu sehen, anstatt nur 'Java'.

durden2.0
quelle

Antworten:

12

Sie können den Befehl ps verwenden, um erweiterte Informationen zu dem Befehl abzurufen, mit dem der Prozess gestartet wurde:

ps -fp <pid>

Mit ps können Sie auch Informationen zu jedem Java-Prozess abrufen:

ps -ef | grep java | grep -v grep
scriptmonster
quelle
Ausgezeichnet. Klappt wunderbar!
Durden2.0
3
Nur zu Ihrer Information, ich habe auch in der Manpage nach 'top' gesucht und festgestellt, dass mit 'c' zwischen 'Kommandozeile' (Standard) und 'Programmname' umgeschaltet wird. In meinem Fall kann ich also bei "oben" auf "c" klicken und den Namen der Anwendung sehen.
Durden2.0
1
Sie können den pstreeBefehl auch verwenden , um eine visuellere Darstellung der Beziehungen zwischen Eltern und Kindern zu erhalten.
Brian Swift
1

Mit den Dienstprogrammen jpsund jcmdJava können Sie laufende Java-Prozesse anzeigen. Entdecken Sie ihre Optionen, um mehr darüber zu erfahren, was sie bieten können.

Muhammad Gelbana
quelle