Како поставити приоритете процеса са нице анд ренице на Линук-у

Команде нице анд ренице вам омогућавају да фино подесите како кернел третира ваше процесе прилагођавањем њихових приоритета. Прочитајте овај водич да бисте научили како да их користите у Линук-у и оперативним системима сличним Уник-у, као што је мацОС.

Све је ствар процеса

Унутар вашег рачунара сличног Линук-у или Уник-у биће покренути многи процеси чак и пре него што покренете апликацију коју желите да користите. Већина ових процеса су витални елементи самог Линук-а или процеси подршке за ваше графичко окружење радне површине. Много тога се дешава иза кулиса. Наравно, постоји само толико системских ресурса и процесорског времена. Линук кернел је контролер за све ове процесе.

Кернел је тај који треба да одлучи који процеси тренутно добијају пажњу и ресурсе, а који морају да чекају. Кернел непрестано жонглира процесима и приоритетима како би осигурао да рачунар ради што је могуће глатко и да сви процеси добију одговарајући удео. Неки процеси добијају повлашћени третман. Они су толико важни за општи рад рачунара да њихове потребе морају бити на првом месту испред, рецимо, вашег претраживача.

Тхе нице Валуе

Један од критеријума који се користи за одређивање начина на који кернел третира процес је добра вредност. Сваки процес има лепу вредност. Добра вредност је цео број у опсегу од -19 до 20. Сви стандардни процеси се покрећу са лепом вредношћу нула.

  4 најбоља екстерна ССД-а за кориснике Линук-а које треба изабрати у 2021

Трик је у томе да што је већа вредност нице, то је ваш процес бољи према другим процесима. Другим речима, висока вредност нице говори кернелу да овај процес радо чека. Негативан број је супротан од лепоте. Што је већа негативна вредност лепог, то је процес себичнији. Покушава да добије што више ЦПУ времена, без обзира на друге процесе.

Можемо користити команду нице да поставимо вредност нице када а процес је покренут и можемо користити ренице да прилагодимо вредност нице текућег процеса.

Лепа команда

Можемо користити команду нице да прилагодимо вредност нице за програм док га покрећемо. Ово нам омогућава да повећамо или смањимо приоритет који језгро даје процесу у односу на друге процесе.

Претпоставимо да је програмер написао програм који се зове ацкерманн. Ово израчунава Акерманове функције. Захтева ЦПУ и меморију. Програмер може покренути програм са следећом командом:

./ackermann

Можемо користити топ команду да видимо покренути програм.

top

На врху можемо видети детаље акермановог програма. Лепа вредност је цифра у „НИ колони“. Постављено је на нулу као што смо очекивали.

Хајде да га поново покренемо и овај пут учинимо мање захтевним. Поставићемо лепу вредност од 15 за акерманов програм на следећи начин. Откуцајте лепо, размак, -15, други размак, а затим назив програма који желите да покренете. У нашем примеру, наш фиктивни програмер користи ./ацкерманн.

nice -15 ./ackermann

Обратите пажњу, „-15“ није минус петнаест. Позитивних је петнаест. „-“ је потребно да се нице каже да прослеђујемо параметар. Да бисте означили негативан број, морате унети два знака „-“.

  Како направити резервну копију вашег Линук система

Ако сада поново кренемо од врха, можемо видети промену у понашању Акермана.

top

Са лепом вредношћу од 15, ацкерманн не троши највише ЦПУ времена. ГНОМЕ и Рхитхмбок користе више. Ускоро смо обуздали Акермана.

Сада урадимо обрнуто и дамо Акерману негативну лепу вредност. Обратите пажњу на употребу два знака „-“. Да бисте апликацију учинили себичнијом и мање лепом, морате да користите судо. Свако може учинити своју апликацију лепшом, али само суперкорисници могу учинити једну себичнију.

sudo nice --10 ./ackermann

Хајде да побегнемо и видимо шта је то донело разлику.

top

Овај пут акерман има лепу вредност од -10. Вратио се на горњу линију и троши више ЦПУ времена него раније.

Команда ренице

Команда ренице нам омогућава да прилагодимо лепу вредност покренутог процеса. Не треба да га заустављамо и поново покрећемо са лепим. Можемо поставити нову вредност у ходу.

Команда ренице узима ИД процеса или ПИД процеса као параметар командне линије. Можемо или издвојити ИД процеса из колоне „ПИД“ на врху, или можемо користити пс и греп да га пронађемо за нас, на следећи начин. Очигледно је да ћете унети име свог корисника уместо даве и име процеса који вас занима уместо ацкерманн.

ps -eu dave | grep ackermann

Сада када имамо ПИД, можемо ово користити са ренице-ом. Вратићемо Акермана на лепше понашање са лепом вредношћу пет. Да бисте променили лепу вредност за покренути процес, морате користити судо. Имајте на уму да нема „-“ на параметру 5. Не треба вам један за позитивне бројеве, а потребан вам је само један, а не два за негативне бројеве.

sudo renice -n 5 2339

Добијамо потврду да је ренице променила вредност нице. Показује нам стару и нову вредност.

  Како добити надгледање мреже у реалном времену на Линук-у помоћу Нетдата

Кернел обично ради одличан посао у руковању приоритетима и расподели ЦПУ времена и системских ресурса. Али ако имате дуг задатак који захтева ЦПУ и није вас брига када се заврши, ваш рачунар ће радити мало лакше ако поставите већу лепу вредност за тај задатак. Тако ће свима бити лепше.