Как да се даде приоритет на процесите на Linux с Nice и Renice

В рамките на различните задачи за управление на операционните системи Linux е идеално да се знае подробно как работят процесите в системата, тъй като това е от съществено значение за завършване и знание как вътрешно всеки процес изпълнява функцията, за която е разработен.

Днес Solvetic ще анализира подробно как да се даде приоритет на процесите на нашите дистрибуции на Linux, като се използва nice и renice.

Какви са приоритетите на процесите в LinuxВажно е преди да разберете колко хубаво и рениче работи, да разберете малко за това защо задаването на определен приоритет на процес на Linux, приоритет на процес, се използва за определяне на времето, през което избраният процес ще може да използва процесора в интервал, определено време.

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

Този приоритет може да доведе до това, че някои процеси не се изпълняват по всяко време, тъй като те се преместват към края на опашката от други процеси с по -висок приоритет на използване.

Как работи Kernel Scheduler в LinuxДруг момент, който трябва да имате предвид при управлението на Linux системи е познаването на ядрото, което отговаря за зареждането. В ядрото му има програмист или планировчик, който е единица на ядрото, която определя най -подходящия процес от всички налични изпълними процеси, които трябва да бъдат изпълнени на първо място. След това разпределя процесорното време между изпълними процеси в системата.

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

В Linux има общо 140 приоритета и два различни диапазона на приоритети, внедрени в Linux:

  • Първата е хубавата стойност, която варира от -20 (стойност с най -висок приоритет) до 19 (стойност с най -нисък приоритет), а стойността по подразбиране е 0.
  • Вторият е приоритетът в реално време, който по подразбиране варира от 1 до 99, след това 100 до 139 са предназначени за потребителско пространство.

1. Проверка на стойностите на процесите в Linux


В Linux можем да проверяваме стойностите на процес, като използваме помощни програми като ps, top или htop.
Ако използваме параметъра ps, можем да изпълним следното:
 ps -eo pid, ppid, ni, comm
Там колоната не разкрива стойността на всеки процес:

Увеличете

Като алтернатива можем да използваме параметрите top или htop, където можем да видим много по -пълни резултати и автоматично ще видим колоната със същите стойности на всеки показан процес:

Горна част

Увеличете

htop

Увеличете

ЗабележкаВ случай, че нямаме htop, можем да го инсталираме, като изпълним реда sudo apt install htop

2. Разлика между PR или PRI и NI и как да се изчислят техните стойности


Когато изпълняваме параметрите top и htop, можем да видим колоните PR, PRI или NI, те означават:

НИТО ЕДНОТОТова е приятелска стойност, тоест концепция за потребителско пространство

PR / PRIТова е истинският приоритет на процеса, тази информация се предоставя от ядрото на Linux

Тези стойности се основават на следното.

 Общ брой приоритети = 140 Обхват на приоритет в реално време (PR или PRI): 0 до 99 Диапазон на приоритет на потребителското пространство: 100 до 139 Диапазон на стойностите на NI (Хубава стойност) -20 до 19: PR = 20 + NI PR = 20 + ( -20 до + 19) PR = 20 + -20 до 20 + 19 PR = 0 до 39, което е равно на 100 до 139
Ако в показаните резултати виждаме rt стойността, това показва, че процесът се изпълнява при приоритет на планиране в реално време.

3. Как да стартирате команда с хубава стойност в Linux


Nice отговаря за присвояването на определен приоритет на програма, когато тя се изпълнява, и чрез наследяване на задачите и процесите, които тази програма може да задейства в системата. Nice се прилага, когато имаме програма или задача, която изисква много използване на процесора, но също така, че този процес може да отнеме много време, за да завърши, там ще бъде възможно да се конфигурира висок или благоприятен приоритет с помощта на командата nice.

Синтаксисът, който можем да използваме, е следният:

 nice -n nice-value [командни аргументи] nice-nice-value [командни аргументи] nice --adjustment = nice-value [командни аргументи]
Помислете за следното:
  • Ако не е предоставена стойност, nice ще зададе приоритет 10 по подразбиране
  • Команда или програма, изпълнена без стойности по подразбиране, е зададена на приоритет нула
  • Само root потребителят може да изпълни команда или програма с по -висок или по -висок приоритет
  • Нормалните потребители могат да изпълняват само команда или програма с нисък приоритет
За да зададете приоритет, вместо да стартирате програма или команда с приоритет по подразбиране, ще бъде възможно да го стартирате с определен приоритет, като използвате следната хубава команда:
 sudo nice -n -5 xclock &
Или можем да изпълним следното:
 sudo nice -настройка = 5 xclock &

Увеличете

Можем да видим, че се генерира нов идентификатор.

4. Променете приоритета на планиране на процес в Linux


Когато използвате Linux среди, тя позволява динамично програмиране въз основа на приоритети, следователно, ако програма вече се изпълнява, ще бъде възможно да се промени нейният приоритет с помощта на командата renice, както следва:
 renice -n -12 -p (PID) renice -n -2 -u (приложение)
При изпълнение на тази команда ще можем да видим стария приоритет и новия приоритет.

Увеличете

5. Как да зададете Nice по подразбиране за процесите на конкретен потребител


Можете да зададете стойността по подразбиране за конкретен потребител или група във файла /etc/security/limits.conf. Основната му функция е да определя граници на ресурси за потребители, свързани чрез PAM.

Синтаксисът за определяне на ограничение за потребител е следният:

 
Като алтернатива ще бъде възможно да се създаде файл в /etc/security/limits.d/, който се грижи за замяна на конфигурацията в основния файл и тези файлове се четат по азбучен ред.

Ако искаме да получим помощта на nice или renice, можем да изпълним следното:

 човек хубав мъж Ренис

Увеличете

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

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave