Nadawanie procesom priorytetu w Linuxie

Do nadawania procesom określonego priorytetu w systemie operacyjnym Linux służą polecenia: nice, renice.

Każdy istniejący i nowy proces otrzymuje pewien priorytet. Priorytet przydziela ilość czasu dla procesora – im większy priorytet, tym więcej czasu poświęci procesor danemu procesowi. Standardową wartością priorytetu jest 0.

Proces może dostać priorytet w zakresie -20 do 20, gdzie -20 jest wartością oznaczającą, że procesor będzie poświęcał znikomą ilość czasu dla procesu, a 20 maksymalną możliwą.

W przypadku procesów wymagających dużych mocy obliczeniowych (wysoki priorytet) ze strony procesora automatycznie zwiększany jest priorytet takich procesów, dzięki czemu jeden proces nie jest w stanie zakłócić funkcjonowania systemu (objaw znany z systemów MS Windows).

Obok nadawanego przez system priorytetu, każdy proces posiada swoją wartość „nice„, którą użytkownicy mogą modyfikować. Użytkownicy mogą sterować wartością „nice” wykonywanych przez nich zadań, jednak tylko administrator może uruchomić proces o wartości ujemnej.

Aby uruchomić dowolny program z zadaną wartością priorytetu należy posłużyć się następującą składnią komendy nice:
machine:~# nice -n [PRIORYTET] POLECENIE
gdzie:
PRIORYTET – wartość „nice” nadawana poleceniu. Należy ją poprzedzić myślnikiem. W przypadku braku parametru, domyślnie zostanie przyjęty „+10”.
POLECENIE – komenda do wykonania.

Można również zmienić priorytet uruchomionego procesu w trakcie jego działania za pomocą komendy renice. Podstawowa składnia:
debian:~# renice PRIORYTET PID(Y)
gdzie:
PRIORYTET – oznacza nową wartość „nice„. W przypadku polecenia wydawanego przez zwykłych użytkowników może to być wyłącznie wartość dodatnia i większa od obecnej.
PID(Y) – identyfikator PID procesów.

Zrzut ekranu z 2016-03-22 17-08-22

PID procesu można uzyskać za pomocą polcenia:
ps aux | grep nazwaProcesu

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *