Навіщо використовувати планувальник:
Оскільки стандартні обертові диски записують інформацію на основі місць на обертовій пластині, це саме так. Під час доступу до даних із обертового диска фактичний привід повинен повернути пластини в певне положення, щоб інформація могла бути прочитана. Це називають "пошуком", оскільки це може зайняти набагато більше часу з точки зору обчислень. Планувальники вводу-виводу мають на меті допомогти вам отримати максимальну віддачу від прав доступу до дисків. Раніше ми робили те саме, поєднуючи транзакції вводу-виводу та надсилаючи їх у сусідні місця дисків. Привод навіть не повинен "шукати" стільки, коли запити групуються в сусідні частини диска, що покращує середній час відгуку на операційні дії диска. У сучасних архітектурах Linux доступно багато рішень планувальника вводу-виводу. Кожен із них має свою систему організації запитів на доступ до дисків. У цій статті ви дізнаєтесь, як перевірити поточний планувальник у вашій системі та як змінити планувальник під час роботи в операційній системі Linux.
Типи планувальників:
Здається, на вибір є 3 типи планувальників, кожен із яких має свій набір переваг в операційній системі Linux. Отже, ось список і пояснення кожного планувальника:
- CFQ (cfq): стандартний планувальник для стільки дистрибутивів Linux; він когортує одночасні запити, зроблені операціями, до серії пулів для кожного процесу перед тим, як розподіляти часові інтервали для використання диска для кожної черги.
- Планувальник Noop (noop): Це найпростіший планувальник вводу-виводу для ядра Linux, побудований за принципом пулу FIFO. Цей планувальник добре працює для твердотільних накопичувачів.
- Планувальник дедлайну (дедлайн): Цей планувальник намагається забезпечити період початку обслуговування запиту.
Перевірте поточний планувальник:
Перш ніж рухатися вперед, ви повинні знати про планувальник вводу-виводу, налаштований у вашій поточній системі Linux. На момент впровадження ми використовували Ubuntu 20.04 Система Linux, тож і наш планувальник буде. Можливо, ваша система Linux може мати інший планувальник вводу-виводу, налаштований у системі. Отже, увійдіть із поточної системи Linux, щоб спробувати перевірити її. Тепер запустіть оболонку терміналу, використовуючи просту комбінацію клавіш, “Ctrl + Alt + T.”Ви можете спробувати відкрити оболонку терміналу, використовуючи область панелі активності на вашому робочому столі Linux. Тепер термінал командної оболонки відкрито, ми можемо почати над ним працювати. Перш за все, ми маємо увійти як користувач sudo з терміналу, щоб працювати ефективно та без перерв. Отже, введіть команду “su” в терміналі, щоб увійти. Він запитає у вас пароль вашого облікового запису sudo, щоб увійти з нього. Введіть пароль облікового запису sudo та натисніть клавішу введення на вашій машинці.
$ су
Тепер настав час перевірити та визначити планувальник вводу-виводу нашої системи Linux. Як відомо, наразі ми працюємо над Ubuntu 20.04 Система Linux повинна відповідати їй, і ми повинні перевірити її, прочитавши файл планувальника через її шлях. Отже, ми повинні випробувати наведену нижче інструкцію cat в терміналі оболонки разом із розташуванням файлу через шлях та натиснути кнопку «Enter» із друкарської машинки вашого комп’ютера.
# cat / sys / block / sda / очередь / планувальникНа малюнку нижче результат виведений як “[mq-deadline] none”, що означає, що наш пристрій має в собі планувальник термінів виконання кількох черг. Це спеціальна адаптація планувальника вводу-виводу для конкретного пристрою, що відповідає кількох чергах. Суцільний універсал з низьким використанням процесора.
Примітка: Ви повинні чітко усвідомити, що планувальники вводу-виводу з декількох черг - це поодинокі планувальники вводу-виводу, пропоновані в Ubuntu Eoan Ermine 19.10, а також стрімголов.
Зміна планувальника вводу-виводу:
Якщо користувач системи Linux хоче змінити свій планувальник вводу-виводу на "Kyber", вони повинні спочатку встановити пакет “kyber” у своїй системі Linux у два кроки нижче. Потрібно виконати наведену нижче команду sudo із ключовим словом “modprobe” з іменем планувальника як “kyber-iosched”."
# sudo modprobe kyber-iosched
Другий крок - запустити ту саму команду “cat”, згадану в одній із наведених вище команд, щоб встановити її.
# cat / sys / block / sda / очередь / планувальник
Тепер “kyber” успішно налаштовано. Тепер ви можете ввімкнути “kyber”, використовуючи наведену нижче команду планувальника “echo” разом із ключовими словами “sudo” та “tee”, до яких приєднаний шлях планувальника. Вихідне зображення представляє ввімкнений планувальник «kyber."
# echo “kyber” | sudo tee / sys / block / sda / queue / scheduler
Вихідні дані показують, що для параметра «kyber» встановлено значення за замовчуванням.
# cat / sys / block / sda / очередь / планувальник
Щоб змінити планувальник на планувальник “bfq”, встановіть його за допомогою наведеної нижче команди.
# sudo modprobe bfq
Тепер запустіть ту саму команду “кішка”.
# cat / sys / block / sda / очередь / планувальник
Тепер “bfq” встановлено, увімкніть його за допомогою тієї ж команди “echo”.
# echo “bfq” | sudo tee / sys / block / sda / queue / scheduler
Перевірте планувальник “bfq” за замовчуванням за допомогою команди “cat”.
# cat / sys / block / sda / очередь / планувальник
Висновок:
У цій статті підручника описано простий спосіб зміни планувальника вводу-виводу за допомогою двох різних планувальників. Ми обговорили, чому система хоче змінити планувальник, сподіваючись, що це працює для вас.