Wie erfahre ich unter Linux, ob ein bestimmter Thread mit Echtzeitpriorität ausgeführt wird?

6026
Turion

Ich habe einen Prozess (jackd), der mehrere Threads ausführt. Einer der Threads sollte in Echtzeit sein, die anderen laufen mit normalen Prioritäten. Ich würde gerne prüfen, ob es tatsächlich in Echtzeit läuft. Welches Programm kann ich für diese Aufgabe verwenden?

3

2 Antworten auf die Frage

3
Breakthrough

Sie können psmit dem -mSwitch alle Threads anzeigen und -l ("Long" -Format) die Priorität anzeigen. Der vollständige Befehl würde folgendermaßen aussehen:

ps -m -l [TASK PID] 
Cool, wusste nicht über den -m Schalter! Es scheint, dass es auch möglich ist, alle Threads mit ihren Echtzeitprioritäten (falls verfügbar) mit etwas wie "ps -eO rtprio -m" aufzulisten. Turion vor 11 Jahren 1
0
Sundeep R

(1) Befehl, der die Prozess-ID eines Prozesses angibt, ist

ps -e | grep

(2) Ein Befehl, der einen Prozess angibt, der alle ThreadIds-Planungsrichtlinien und -prioritäten enthält, ist

chrt -a -p <PId>

(3) Befehl, der die Liste der Prozesse und deren ThreadIDs mit Namen angibt

ps -eL

Jetzt können Sie die ThreadId aus Schritt 3) dem Befehl ThreadName zuordnen und die entsprechende IDs-Planungsrichtlinie und -priorität aus Schritt 2 anzeigen.