GNU/Linux >> Linux Esercitazione >  >> Linux

Linux chrt Command Tutorial per principianti (5 esempi)

I processi costituiscono il nucleo di un sistema Linux in esecuzione. Quando un programma si converte in un processo (che è quando viene eseguito), vengono impostati molti attributi. A volte, potresti voler modificare questi attributi in fase di esecuzione. Esiste uno strumento da riga di comando chrt che ti consente di farlo.

In questo tutorial, discuteremo di questa utilità con alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi in questo articolo sono stati testati su una macchina Ubuntu 18.04 LTS.

Comando Linux chrt

Come già accennato nella sezione introduttiva precedente, il comando chrt consente di manipolare gli attributi in tempo reale di un processo. Di seguito è riportata la sua sintassi:

chrt [options] -p [prio] pid

Ed ecco come lo spiega la pagina man dello strumento:

       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.

Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti una buona idea su come funziona il comando chrt.

Q1. Come utilizzare il comando chrt?

Supponiamo che tu sia interessato a manipolare la politica di pianificazione o la priorità del processo gedit. Quindi la prima cosa che devi fare è ottenere l'ID del processo per questo processo, cosa che puoi fare usando il comando pidof.

pidof gedit

Sul mio sistema, ad esempio, il comando precedente ha fornito il pid '6063' come output. Ora, per recuperare la politica di pianificazione corrente e la priorità per il processo gedit, usa chrt nel modo seguente:

chrt -p 6063

Ed ecco l'output che questo comando ha prodotto sul mio sistema:

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

Q2. Come fare in modo che chrt mostri priorità valide minime/massime?

Questo può essere fatto usando l'opzione della riga di comando -m.

chrt -m

Ad esempio, sul nostro sistema il comando sopra ha prodotto il seguente output:

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

Dovrai fare riferimento a questi valori per l'impostazione della priorità durante l'impostazione dei criteri di pianificazione.

T3. Come impostare un criterio di pianificazione su SCHED_BATCH?

Questo può essere fatto usando l'opzione della riga di comando -b.

Ad esempio:

chrt -b -p 0 6063

Ora, se controlli di nuovo la politica di pianificazione per gedit usando il seguente comando:

chrt -p 6063

Dovresti ottenere un output simile al seguente, a significare che la modifica che hai fatto è stata applicata:

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

Q4. Come impostare un criterio di pianificazione su SCHED_FIFO?

Questo può essere fatto usando l'opzione della riga di comando -f.

chrt -f -p 20 6063

Come fatto nelle precedenti domande e risposte, puoi eseguire la verifica incrociata delle modifiche utilizzando chrt -p comando. Tieni presente che potresti richiedere i privilegi di root per utilizzare l'opzione della riga di comando -f.

Q5. Come impostare un criterio di pianificazione su SCHED_OTHER?

Questo può essere fatto usando l'opzione della riga di comando -o.

chrt -o -p 0 6063

Per verificare, usa il comando chrt -p.

chrt -p 6063

Di seguito è riportato l'output nel mio caso:

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

Conclusione

D'accordo, il comando chrt non è il tipo di strumento che potresti usare ogni giorno. Diamine, potresti non averne nemmeno bisogno finché non ti occupi della gestione del sistema o lavori su alcuni lavori relativi alla pianificazione del kernel. Tuttavia, vale la pena sapere almeno che uno strumento del genere esiste. Per ulteriori informazioni su chrt, vai alla sua pagina man.


Linux
  1. Tutorial sul comando cd di Linux per principianti (8 esempi)

  2. Tutorial comando Linux comm per principianti (5 esempi)

  3. Linux df Command Tutorial per principianti (8 esempi)

  4. Tutorial sul comando della data di Linux per principianti (8 esempi)

  5. Tutorial sul comando del nome host Linux per principianti (5 esempi)

Linux who Command Tutorial per principianti (8 esempi)

Linux nl Command Tutorial per principianti (7 esempi)

Tutorial sui comandi Linux nm per principianti (10 esempi)

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)