Дізнайтеся Linux, 101 Пріоритети виконання процесів; Розробник IBM

Слідкуючи за тим, що відбувається

Ян Шилдс
Оновлено 31 січня 2015 р. | Опубліковано 2 лютого 2010 р

розробник

Огляд

Цей посібник обґрунтовує основні методи Linux для управління пріоритетами процесу виконання. Навчіться:

  • Зрозумійте пріоритети процесу
  • Встановіть пріоритети процесу
  • Змінити пріоритети процесу

Цей посібник допоможе вам підготуватися до цілі 103.6 у темі 103 іспиту 101. Професійний сервер Linux (LPIC-1) 101. Вага цілі 2.

Пріоритети завдань Linux

Linux, як і більшість сучасних операційних систем, може запускати кілька процесів. Це робиться шляхом спільного використання процесора та інших ресурсів. Якщо один процес може використовувати 100 відсотків центрального процесора, тоді інші процеси можуть не реагувати. Ми познайомимо вас із тим, як Linux призначає пріоритети для завдань.

Про цю серію

Ця серія підручників допоможе вам вивчити завдання системного адміністрування Linux. Ви також можете використовувати матеріали цих посібників для підготовки до іспитів LPIC-1: Професійний сертифікаційний сервер Linux Server.

Див. “Дізнайтесь Linux, 101: Дорожня карта для LPIC-1”, щоб отримати опис та посилання на кожен підручник у цій серії. Дорожня карта триває. Цей підручник відображає цілі версії 5.0, оновлені 29 жовтня 2018 р. По мірі завершення підручники вони будуть додані до дорожньої карти.

Передумови

Щоб отримати максимум від підручників у цій серії, ви повинні мати базові знання Linux та працюючу систему Linux, на якій ви можете відпрацьовувати команди, викладені в цьому посібнику. Іноді різні версії програми форматують висновок по-різному, тому ваші результати можуть не завжди виглядати точно так, як наведені тут списки та рисунки. Результати в наведених тут прикладах були отримані на дистрибутиві Ubuntu 15.04. Цей підручник спирається на концепції, розглянуті в попередньому підручнику “Вивчіть Linux 101: Створюйте, контролюйте та вбивайте процеси”.

Знаючи свої пріоритети

Якщо ви запустите верхню команду, за замовчуванням відображатиме процеси у порядку зменшення відповідно до їх використання процесора, як показано в лістингу 1. У попередньому підручнику “Дізнайтесь Linux 101: Створення, моніторинг та вбивство процесів” ми показали Сценарій Poor Man's Clock, який кожні 30 секунд друкує час на консолі, а решту часу нічого не робить. Якби ми запустили цей процес, він, мабуть, не потрапив би до списку вихідних даних, оскільки процес витрачає більшу частину часу, не використовуючи центральний процесор.

Лістинг 1. Типовий вихід зверху на робочій станції Linux

У вашій системі може бути багато команд, які можуть використовувати багато процесора. Приклади включають інструменти для редагування фільмів та програми для перетворення між різними типами зображень або між різними кодуваннями звуку, наприклад mp3 в ogg.

Коли у вас лише один або обмежена кількість процесорів, вам потрібно вирішити, як розподілити ці обмежені ресурси центрального процесора між кількома конкуруючими процесами. Як правило, це робиться шляхом вибору одного процесу для виконання і дання йому працювати протягом короткого періоду (так званий часовий зріз) або до тих пір, поки йому не потрібно буде чекати якоїсь події, наприклад IO для завершення. Щоб забезпечити, щоб важкі процеси не зникали голодами процесорів, вибір здійснюється на основі пріоритету планування. NI у стовпці у Лістингу 1 вище, показує пріоритет планування або приємність кожного процесу. Приємність зазвичай варіюється від -20 до 19, при цьому -20 є найбільш сприятливим або найвищим пріоритетом для планування, а 19 є найменш сприятливим або найнижчим пріоритетом.

Використання ps для пошуку приємності

На додаток до верхньої команди, ви також можете відображати значення красивості за допомогою команди ps. Ви можете налаштувати результати, як ви бачили у підручнику «Вивчайте Linux 101: Створення, моніторинг та вбивання процесів», або ви можете просто використовувати опцію -l, щоб отримати довгий список. Вихідні дані ps -l ps -l показані в лістингу 2. Як і у випадку з верхнім, знайдіть значення краси в NI стовпець.