nice uruchamia inne polecenie z ustawionym priorytetem szeregowania, czyli tzw. niceness. To liczba, która mówi kernelowi, jak bardzo dany proces ma być „grzeczny” wobec reszty systemu: im wyższa wartość, tym chętniej proces oddaje czas procesora innym. Przydaje się, gdy odpalasz coś ciężkiego (kompilacja, backup, transkodowanie wideo) i nie chcesz, żeby zamuliło ci to interaktywną pracę na serwerze. Bez nice proces dostaje domyślny priorytet odziedziczony po powłoce; z nice startuje od razu na łagodniejszych albo ostrzejszych ustawieniach.
Składnia i najważniejsze opcje
Podstawowa składnia wygląda tak: nice [-n priorytet] polecenie [argumenty]
-n N,--adjustment=N— dodaje wartość N do niceness procesu (zakres od -20 do 19).nicebez argumentów — wypisuje aktualną wartość niceness twojej powłoki (zwykle 0).- Domyślny przyrost to 10 — odpalenie
nice poleceniebez-nuruchamia je z niceness 10. - Wartości ujemne (np. -10) zwiększają priorytet i wymagają uprawnień roota.
--help— krótka ściąga z opcji,--version— wersja z coreutils.- Wyjście poza zakres -20…19 jest przycinane do wartości brzegowej, bez błędu.
Przykłady użycia
nice tar -czf backup.tar.gz /var/www— pakuje katalog z domyślnym przyrostem 10, więc archiwizacja nie wygryza CPU interaktywnym procesom.nice -n 19 ./przelicz_dane.sh— uruchamia skrypt na najniższym możliwym priorytecie; ruszy dopiero, gdy system nie ma nic pilniejszego.sudo nice -n -10 ffmpeg -i film.mkv film.mp4— daje transkodowaniu wyższy priorytet (ujemna wartość = root).nice -n 15 make -j4— kompilacja w tle, która nie blokuje ci edytora ani SSH.nice— sprawdza, z jakim niceness startują procesy w twojej bieżącej sesji.
Częste błędy i pułapki
Najczęstsza pomyłka: ludzie myślą, że wyższy nice = szybciej. Jest odwrotnie — wyższa wartość oznacza niższy priorytet. Druga pułapka to ujemne wartości bez roota: nice -n -5 polecenie jako zwykły user nie wywali błędu, ale po cichu zignoruje obniżkę i zostawi domyślny priorytet. Uważaj też na starą, niejednoznaczną składnię nice -10 polecenie — myślnik z liczbą bywa interpretowany jako przyrost 10, a nie -10. Trzymaj się jawnego -n, to nie będzie zgadywanki. Pamiętaj również, że nice ustawia priorytet tylko w momencie startu procesu — nie zmienisz nim niceness czegoś, co już działa.
Powiązane komendy: renice (zmiana priorytetu już działającego procesu), ionice (priorytet operacji dyskowych), top i htop (podgląd kolumny NI), oraz chrt dla szeregowania czasu rzeczywistego.