88 Stimmen

Wie man die Anzahl der Threads in einem Java-Prozess ermittelt

Wie kann ich die Anzahl der Threads in einem Java-Prozess sehen?

97voto

miku Punkte 170688
java.lang.Thread.activeCount()

Sie gibt die Anzahl der aktiven Threads in der die Themengruppe des aktuellen Themas .

docs: [http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#activeCount()](http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#activeCount())

3 Stimmen

Dies ist nur eine Schätzung.

88voto

gustafc Punkte 27673

[ManagementFactory.getThreadMXBean().getThreadCount()](http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/ManagementFactory.html#getThreadMXBean()) beschränkt sich nicht auf Thread-Gruppen wie Thread.activeCount() tut.

0 Stimmen

+1 Dafür. Die Menge der Fäden ist genau die gleiche, die ich sehe auf top . Obwohl auf dem Debug-Fenster, sehe ich nur 2 Threads laufen statt 5 :/.

0 Stimmen

ManagementFactory ? unter welchem Paket ?

0 Stimmen

import java.lang.management.ManagementFactory; docs.oracle.com/javase/8/docs/api/java/lang/management/ Siehe auch getPeakThreadCount() und andere Methoden, bevor Sie es selbst tun :)

58voto

laura Punkte 7152

Nützliches Tool zum Debuggen von Java-Programmen, es zeigt die Anzahl der Threads und andere relevante Informationen an:

jconsole <process-id>

26voto

MarkPowell Punkte 16434

Es gibt eine statische Methode in der Thread Klasse, die die Anzahl der von der JVM kontrollierten aktiven Threads zurückgibt:

Thread.activeCount()

Gibt die Anzahl der aktiven Threads in der Thread-Gruppe des aktuellen Threads zurück.

Außerdem sollten externe Debugger alle aktiven Threads auflisten (und es Ihnen ermöglichen, eine beliebige Anzahl von ihnen anzuhalten), wenn Sie sie in Echtzeit überwachen wollen.

22voto

Felipe Oliveira Punkte 970

Generische Lösung, die keine grafische Benutzeroberfläche wie jconsole erfordert (funktioniert nicht auf entfernten Terminals), ps funktioniert für Nicht-Java-Prozesse, erfordert keine installierte JVM.

ps -o nlwp <pid>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X