Използване на команди "Nice" и "Renice" в Linux

Всичко е за приоритетите.

Linux системите могат едновременно да изпълняват много процеси (задания). Дори ако процесорът има множество процесори или ядра, броят на процесите обикновено далеч надхвърля броя на наличните ядра. Това е задачата на ядрото на Linux да разпространява наличните цикли на процесора в активните процеси.

Приятно е да получавате приоритети

По подразбиране всички процеси се считат за еднакво спешни и им се разпределя същото време за процесора. За да може потребителят да промени относителната важност на процесите, Linux свързва приоритетен параметър с всяко задание, което може да бъде зададено или променено от потребителя. След това ядрото на Linux запазва времето на процесора за всеки процес въз основа на неговата относителна приоритетна стойност.

Приятният параметър се използва за тази цел. Той варира от минус 20 до плюс 19 и може да поеме само цели стойности. Стойността минус 20 представлява най-високото ниво на приоритет, докато 19 представлява най-ниското ниво. Фактът, че най-високото ниво на приоритет е посочено от най-отрицателния брой, е донякъде неинтуитивен; обаче, работи с по-нисък приоритет се счита за "по-хубаво", защото позволява на други процеси да използват по-голям дял от времето на процесора.

Как да играя хубаво

С помощта на командата nice стартира нов процес (задание) и му придава приоритетна (хубава) стойност едновременно. За да промените приоритета на процес, който вече се изпълнява, използвайте командата renice .

Например, следният команден ред стартира процеса "голяма работа", настройвайки хубавата стойност на 12:

хубава -12 голяма работа

Имайте предвид, че тирето пред 12 не е знак минус. Тя има обичайната функция за маркиране на флаг, предаван като аргумент към хубавата команда.

За да зададете хубавата стойност на минус 12, добавете още едно тире:

хубава - 12 голяма работа

Не забравяйте, че по-ниските добри стойности отговарят на по-висок приоритет Така че, -12 има по-висок приоритет от 12. Стандартната стойност е 0. Редовните потребители могат да задават по-ниски приоритети (положителни хубави стойности). За да използвате по-високи приоритети (отрицателни хубави стойности), се изискват администраторски привилегии.

Можете да промените приоритета на задание, което вече се изпълнява с помощта на renice:

renice 17-р 1134

Това променя хубавата стойност на заданието с процес id 1134 до 17. В този случай не се използва тире за командата, когато се указва хубавата стойност. Следната команда променя хубавата стойност на процес 1134 до -3:

renice -3 -p 1134

За да отпечатате списък с текущи процеси , използвайте командата ps. Добавянето на опцията "l" (както е в "списък") показва скъпата стойност под заглавието на колоната "NI". Например:

ps -al