Cambiare Proprieta’ ai processi
Su linux esiste un sistema per impostare/modificare la priorità dei processi, su cui l’utente può agire, per dare maggiore o minore priorità ai propri processi.
Per esempio state lanciando un backup con un rsync o facendo un tar, ma non volete che questi processi utilizzino tutta la vostra CPU, in questi casi potete fare uso del comando nice.
nice è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, che esegue un altro comando modificando il suo valore di nice.
Il valore di nice è un attributo numerico di ciascun processo dei sistemi Unix e Unix-like che è usato dallo scheduler per stabilire quanto tempo di CPU dedicare all’esecuzione del processo. A parità di priorità e di politica di schedulazione, i processi che hanno valori di nice maggiori ottengono in proporzione meno tempo di CPU rispetto a processi che hanno valori di nice minori, e quindi la loro esecuzione procede più lentamente, favorendo gli altri processi.
Per diminuire il valore di nice è necessario disporre dei privilegi dell’amministratore (root), mentre ciò non è necessario per aumentarlo. Tipicamente è possibile diminuire il valore di nice fino a 20 unità rispetto al valore predefinito, o aumentarlo fino a 19 unità: è possibile specificare scostamenti più ampi, ma essi sono automaticamente ricondotti entro i limiti sopra citati.
Una gentilezza (niceness) di -20 è la massima priorità e il 19 o 20 è la priorità più bassa. La niceness di default per i processi è ereditata dal proprio processo genitore, di solito è 0.
Sintassi base
nice -n [priority] [command] [arguments]
Così si può dare a qualsiasi comando un valore di nice la prima volta che si esegue. Se si esegue il comando su un terminale senza dare un comando viene visualizzata il corrente valore di niceness.
Esempi:
# nice
0
# nice -n 19 gunzip /var/log/oldlogs*