Ich habe versucht, es zu googeln, aber ich kann es nicht finden. Ich suche nach:
Anzahl der Threads in Prozess X
Gesamtzahl der aktuell laufenden Threads
system-info
NoSenseEtAl
quelle
quelle
Antworten:
So ermitteln Sie die Anzahl der Threads für eine bestimmte PID:
Um die Summe aller im System laufenden Threads zu erhalten:
quelle
ps -o nlwp <pid>
gibt NLWP zurück :), was bedeutet das?ps h -o nlwp $pid
Sie können die Anzahl der Threads ermitteln, die einen einzelnen Prozess ausführen
/proc/<pid>/status
. Es sollte die Anzahl der Threads als eines der Felder auflisten.quelle
Ich stütze mich auf diese Antwort
ps axms
.ps
ist ein großartiges Tool, um aufzulisten, was gerade läuft.Wenn Sie das nach einem Prozess filtern möchten, können Sie Folgendes versuchen:
Wir subtrahieren 1, da grep in dieser Liste angezeigt wird.
Für alle Threads im Allgemeinen sollte dies funktionieren:
Diesmal subtrahieren wir eins, weil es eine Kopfzeile gibt.
quelle
Um die Gesamtzahl der Threads (winzige Teile eines Prozesses, die gleichzeitig ausgeführt werden) von a zu erhalten, können
ps -o nlwp <pid>
Sie den Befehl verwenden. Er funktioniert die ganze Zeit. Aber wenn Sie es vorziehen, versuchen Sie es durch eine Datei zu sehen. Sie sollten sich wahrscheinlich die Dateien ansehen, die für jeden einzelnen Prozess des Systems erstellt wurden. Dort erhalten Sie die ultimativen Details des Prozesses. Für jeden Prozess gibt es einen Ordner, in dem/proc/<pid>
Sie auch alle anderen Details sehen können.quelle
Unter Linux gibt es eine Möglichkeit, dies pro Prozess durchzuführen:
Sie können dieses Skript dann mit einer PID als Argument aufrufen und die Anzahl der Threads anzeigen, deren Eigentümer dieser Prozess ist.
Um die Threadanzahl für das gesamte System zu ermitteln, reicht dies aus:
Diese Ansätze scheinen etwas unorthodox zu sein, da sie sich stark auf Shell-Features stützen, aber im Gegenzug sind beide schneller als die entsprechenden
ps
undawk
auf meinem Computer basierenden Ansätze (und erstellen auch keine eigenen zusätzlichen Threads für Pipes). Bedenken Sie, dass die zum Ausführen dieser Skripte gestartete Shell einen eigenen Thread hat (oder mehr, wenn Sie eine seltsame Implementierung verwenden).quelle