nice

Uruchamia polecenie z określonym priorytetem szeregowania (niceness).

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).
  • nice bez argumentów — wypisuje aktualną wartość niceness twojej powłoki (zwykle 0).
  • Domyślny przyrost to 10 — odpalenie nice polecenie bez -n uruchamia 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.