Solaris CPU run queue
Gibt es einen Befehl, der mir sagen kann, was in der Solaris-run-queue?
Kann ich eine Zählung mit vmstat, aber ich muss wissen, welche Prozesse/threads drin sind.
InformationsquelleAutor Vasu | 2010-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der run-queue wird immer ändern, so dass es fast unmöglich ist, zu bekommen die Gesamtheit der Prozesse, die in der aktuellen run-queue.
Das heißt, Sie können Holen Sie sich eine Annäherung durch betrachten der
STAT
(staatlichen) Bereich der Prozess-Liste vonps
. Beim ausführen der folgenden Befehl:...wenn die
STAT
Feld beginnt mitR
, dann wird der Prozess ist gekennzeichnetRUNNABLE
durch die kernel, die auf den meisten Betriebssystemen bedeutet, dass es in der run-queue. Hier ist, was ein ausführbarer Prozess sieht aus wie auf meinem Rechner:Unter solaris können Sie auch die
prstat
Befehl und Blick auf dieSTATE
Spalte. Der Wertrun
zeigt an, dass der Prozess auf der run-queue. (Beachten Sie auch, dass der WertcpuN
zeigt, dass der Prozess läuft derzeit auf Prozessor-N.Beispiel:
was ist der "genaue Informationen über die run-queue" in diesem Zusammenhang? Ich denke, es wird schwer sein, eine sinnvolle Bedeutung für diese.
InformationsquelleAutor 0xfe
War ich über das zu korrigieren 0xfe Antwort, als ich sah, dass du bereits gemacht. Die run-queue ist mit theads nicht verarbeitet, so dass die option-L ist zwingend mit der prstat-Befehl, wenn Sie wollen, um die Anzahl der "state-run" - Linien mehr oder weniger passend zu den run-queue. Vorsicht, dass die sampling-Artefakte wird wahrscheinlich verhindern, dass man genau entspricht.
In jedem Fall, wenn Sie wollen genau wissen, welche Prozesse/threads, die sitzen in der run-queue, die Sie lieber gehen die dtrace Weg, vorausgesetzt, Sie sind mit Solaris 10 oder höher.
Den whoqueue.d-Skript, welches vielleicht schon in /usr/demo/dtrace-Verzeichnis auf Ihrem Rechner wird ein guter Anfang sein:
Haben Sie einen Blick auf auf dieser Seite für details.
InformationsquelleAutor jlliagre