nice i renice Linux - Jak zmienić priorytet procesu?
Każdy świadomy użytkownik systemów Linux powinien potrafić zarządzać priorytetami procesów, przydzielając tym samym mniejszą bądź większą moc obliczeniową procesora każdemu z nich (moc obliczeniową rozumiemy tutaj jako czas poświęcany przez procesor na dany proces). Jest zadanie bardzo proste, więc tym powszechniejsza powinna być jego znajomość. Przyjrzyjmy się więc poleceniom nice oraz renice.
Po co kontrolować priorytety procesów?
Posłużę się prostym przykładem, który na pewno spotkał każdego użytkownika komputera. Wyobraźmy sobie, że mam plik o pokaźnych rozmiarach i chcemy go przenieść na inną partycję, czy nośnik wymienny. Operacja taka zazwyczaj dość mocno obciąża procesor. W zależności od tego, czy chcemy, aby plik został przeniesiony jak najszybciej, czy może nie zależy nam na tym, powinniśmy ustalić odpowiednio niski lub odpowiednio wysoki priorytet dla takiego działania. Innym, a właściwie nawet lepszym przykładem, może być operacja kompresji dużego lub wielu plików.
Jakie mamy dostępne priorytety?
Priorytety przypisane do procesu mają numeryczną skalę rozpiętą od -20 do 19. Jak widać, jest to dość sporo, bo aż 40 stopni, przy czym -20 oznacza najwyższy priorytet, zaś 19 najniższy.
Jak sprawdzić priorytet procesu?
Aby otrzymać informacje na temat tego, jaki priorytet przypisany jest danemu procesowi, możemy uruchomić program:
Jak uruchomić program przydzielając mu odpowiedni czas pracy procesora?
Aby uruchomić proces, przypisując mu jednocześnie zdefiniowany priorytet, należy posłużyć się poleceniem nice, które w najprostszej postaci ma składnię:
Jak zmienić priorytet działającego procesu?
W przypadku, w którym nie chcemy tworzyć nowego procesu, a jedynie zmodyfikować priorytet już istniejącego, musimy na wstępie poznać numer Id tego procesu, czyli PID. Do tego również najwygodniej użyć programu top/htop. Dajmy na to, że nasz procesor obciążony jest przez działające procesy wirtualnej maszyny (PID 28422) oraz kompresora (np. tar; PID 28848), my zaś pilnie musimy wykonać jakąś inną operację wymagającą dużych nakładów procesora. Posłużmy się więc poleceniem renice, które pozwoli nam zmienić priorytet działających programów. Składnia tego polecenia jest bardzo podobna do nice:Zagadnienie proste, a niezwykle przydatne.
Komentarze (2)