GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux chrt Command Tutorial für Anfänger (5 Beispiele)

Prozesse bilden den Kern eines laufenden Linux-Systems. Wenn ein Programm in einen Prozess umgewandelt wird (also wenn es ausgeführt wird), werden viele Attribute gesetzt. Manchmal möchten Sie diese Attribute möglicherweise zur Laufzeit ändern. Es gibt ein Befehlszeilentool chrt damit können Sie dies tun.

In diesem Tutorial werden wir dieses Dienstprogramm mit einigen leicht verständlichen Beispielen besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.

Linux-chrt-Befehl

Wie bereits im Einführungsabschnitt oben erwähnt, können Sie mit dem Befehl chrt die Echtzeitattribute eines Prozesses manipulieren. Es folgt die Syntax:

chrt [options] -p [prio] pid

Und so erklärt es die Manpage des Tools:

       chrt sets or retrieves the real-time scheduling attributes of an exist?
       ing pid, or runs command with the given attributes.  Both  policy  (one
       of  SCHED_OTHER,  SCHED_FIFO, SCHED_RR, SCHED_BATCH, or SCHED_IDLE) and
       priority can be set and retrieved.

       The SCHED_BATCH policy is supported since Linux 2.6.16.  The SCHED_IDLE
       policy is supported since Linux 2.6.23.

       The  SCHED_RESET_ON_FORK  flag  for policies SCHED_RR and SCHED_FIFO is
       supported since Linux 2.6.31.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Befehl chrt funktioniert.

Q1. Wie verwende ich den chrt-Befehl?

Angenommen, Sie sind daran interessiert, die Planungsrichtlinie oder Priorität des Gedit-Prozesses zu manipulieren. Das erste, was Sie also tun müssen, ist, die Prozess-ID für diesen Prozess abzurufen, was Sie mit dem Pidof-Befehl tun können.

pidof gedit

Auf meinem System hat der obige Befehl beispielsweise die PID '6063' als Ausgabe ausgegeben. Um nun die aktuelle Planungsrichtlinie und Priorität für den Gedit-Prozess abzurufen, verwenden Sie chrt auf folgende Weise:

chrt -p 6063

Und hier ist die Ausgabe dieses Befehls auf meinem System:

pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0

Q2. Wie bringt man chrt dazu, minimale/maximale gültige Prioritäten anzuzeigen?

Dies kann mit der Befehlszeilenoption -m erfolgen.

chrt -m

Beispielsweise erzeugte der obige Befehl auf unserem System die folgende Ausgabe:

SCHED_OTHER min/max priority    : 0/0
SCHED_FIFO min/max priority    : 1/99
SCHED_RR min/max priority    : 1/99
SCHED_BATCH min/max priority    : 0/0
SCHED_IDLE min/max priority    : 0/0

Sie müssen sich auf diese Werte für die Prioritätseinstellung beziehen, während Sie Planungsrichtlinien festlegen.

Q3. Wie lege ich eine Planungsrichtlinie auf SCHED_BATCH fest?

Dies kann mit der Befehlszeilenoption -b erfolgen.

Zum Beispiel:

chrt -b -p 0 6063

Wenn Sie nun die Planungsrichtlinie für gedit erneut mit dem folgenden Befehl überprüfen:

chrt -p 6063

Sie sollten eine Ausgabe ähnlich der folgenden erhalten, die anzeigt, dass die von Ihnen vorgenommene Änderung angewendet wurde:

pid 6063's current scheduling policy: SCHED_BATCH
pid 6063's current scheduling priority: 0

Q4. Wie setze ich eine Planungsrichtlinie auf SCHED_FIFO?

Dies kann mit der Befehlszeilenoption -f erfolgen.

chrt -f -p 20 6063

Wie in den vorherigen Fragen und Antworten können Sie die Änderungen mit chrt -p überprüfen Befehl. Bitte beachten Sie, dass Sie möglicherweise Root-Rechte benötigen, um die Befehlszeilenoption -f zu verwenden.

F5. Wie lege ich eine Planungsrichtlinie auf SCHED_OTHER fest?

Dies kann mit der Befehlszeilenoption -o erfolgen.

chrt -o -p 0 6063

Verwenden Sie zur Überprüfung den Befehl chrt -p.

chrt -p 6063

Das Folgende ist die Ausgabe in meinem Fall:

pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0

Schlussfolgerung

Zugegeben, der Befehl chrt ist nicht die Art von Werkzeug, das Sie jeden Tag verwenden können. Verdammt, Sie brauchen es vielleicht nicht einmal, bis Sie sich mit der Systemverwaltung beschäftigen oder an Kernel-Scheduling-bezogenen Arbeiten arbeiten. Es lohnt sich jedoch zumindest zu wissen, dass ein solches Tool existiert. Weitere Informationen zu chrt finden Sie auf der Manpage.


Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux-Hostname-Befehls-Tutorial für Anfänger (5 Beispiele)

Linux Who Command Tutorial für Anfänger (8 Beispiele)

Linux nl Command Tutorial für Anfänger (7 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)