Налаштовані профілі для оптимізації навантаження на сервер Linux
16 хв читання - 9 червня 2026 р.

Як вибирати, застосовувати та налаштовувати налаштовані профілі для графічних процесорів, баз даних та високошвидкісних серверів Linux, з прикладами та порадами щодо розгортання Ansible.
Налаштовані профілі для оптимізації навантаження сервера
Стандартні налаштування Linux налаштовані на сумісність, а не на продуктивність. Демон tuned постачається з попередньо визначеними профілями, які регулюють регулятори процесора, планувальники вводу-виводу, параметри ядра та мережеві буфери відповідно до конкретного навантаження. Ця публікація описує, як працюють профілі, який з них вибрати для типових ролей сервера, а також як створювати та розгортати власні профілі у всьому парку.
Як працюють налаштовані профілі
Профіль — це каталог у /usr/lib/tuned/profiles/ (system) або /etc/tuned/profiles/ (custom), що містить файл tuned.conf файл. Файл конфігурації групує параметри за плагінами: [cpu], [disk], [sysctl], [vm], [bootloader], і так далі. Активуйте профіль, і демон tuned застосує всі параметри за один раз, замість того, щоб запускати десятки sysctl та sysfs команд вручну.
Профілі можуть успадковувати один від одного за допомогою include . Наприклад, throughput-performance , наприклад, може слугувати основою для власного профілю бази даних, який замінює лише vm.swappiness параметр Transparent Huge Pages.
tuned працює у двох режимах. Статичне налаштування застосовує профіль один раз під час активації і не втручається в роботу системи, що є бажаним на виробничих серверах, де стабільність роботи важливіша за економію енергії. Динамічне налаштування відстежує використання диска, мережі та навантаження в режимі реального часу і коригує налаштування на льоту. Профілі продуктивності за замовчуванням вимикають динамічне налаштування, щоб уникнути навантаження від моніторингу.
Вибір правильного профілю для вашого робочого навантаження
tuned постачає десяток профілів, що охоплюють найпоширеніші робочі навантаження. Оберіть той, що відповідає тому, що насправді робить сервер, замість того, щоб залишати balanced профіль за замовчуванням.
| Робоче навантаження | Профіль | Що він робить |
|---|---|---|
| Навчання та інференція на GPU | accelerator-performance | Фіксує ЦП у низьких C-станах, підтримуючи затримку між ЦП та графічним процесором на рівні менше 100 мкс |
| Бази даних (Postgres, MySQL, Redis) | throughput-performance | Вимкнення режиму енергозбереження, налаштування дискового та мережевого вводу-виводу, вимкнення Transparent Huge Pages |
| Мережі з високою пропускною здатністю (CDN, реплікація, конвеєри даних) | network-throughput | Збільшує мережеві буфери ядра для стабільних передач з високою пропускною здатністю |
| Сервіси, чутливі до затримки | network-latency або latency-performance | Фіксує регулятор процесора на performance, вимикає глибокі стани C |
| HPC та обчислювальні кластери | hpc-compute | Покращує співвідношення затримки та продуктивності за допомогою NUMA та налаштування пам'яті |
| Інстанції VPS (гостьова ОС) | virtual-guest | Знижує рівень swappiness, збільшує попереднє читання з диска для паравіртуалізованого вводу-виводу |
| Хости гіпервізора KVM | virtual-host | Налаштовує запис брудних сторінок для робочих навантажень віртуальних машин |
| Змішані або невідомі | balanced | За замовчуванням. Змінює продуктивність на енергоефективність |
Для конкретних механізмів роботи з базами даних, tuned також постачається postgresql, mssql, а також oracle профілі, які виходять за межі throughput-performance налаштування параметрів спільної пам'яті та планувальника ядра для цих двигунів.
На багатопроцесорних серверах топологія NUMA має значення. Доступ до пам'яті віддалених вузлів може бути удвічі-втричі повільнішим, ніж локальний доступ. Для робочих навантажень, критичних до затримки, на двопроцесорних машинах вимкніть автоматичне балансування NUMA у профілі та вручну прив'яжіть процеси до конкретних вузлів.
Встановлення та застосування профілів
Встановіть tuned на RHEL, Rocky, AlmaLinux або Fedora:
dnf install tuned
systemctl enable --now tunedНа Debian та Ubuntu пакет також називається tuned і встановлюється за допомогою apt. Якщо power-profiles-daemon вже працює, приховайте його, щоб уникнути конфліктів:
systemctl mask --now power-profiles-daemonПерелічіть доступні профілі, запитайте tuned, що він рекомендує для апаратного забезпечення, застосуйте профіль та перевірте його:
tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verifyАктивний профіль зберігається у /etc/tuned/active_profile і зберігається після перезавантаження. Щоб повністю скасувати налаштування та виміряти базові показники, запустіть tuned-adm off.
Створення власного профілю для AI, ML та робочих навантажень з високою пропускною здатністю
Коли стандартні профілі дозволяють досягти 90% бажаного результату, створіть власний профіль, який успадковує налаштування найближчого відповідника та замінює решту параметрів. Почніть із каталогу та файлу конфігурації:
mkdir -p /etc/tuned/ai-gpu
cat > /etc/tuned/ai-gpu/tuned.conf <<'EOF'
[main]
summary=Custom profile for GPU training with high-bandwidth networking
include=accelerator-performance
[cpu]
governor=performance
[sysctl]
kernel.numa_balancing=0
net.core.rmem_max=268435456
net.core.wmem_max=268435456
net.ipv4.tcp_rmem=4096 87380 268435456
net.ipv4.tcp_wmem=4096 65536 268435456
[vm]
transparent_hugepages=never
[bootloader]
cmdline=hugepagesz=2M hugepages=16384 <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit">iommu</a>=pt
EOF
tuned-adm profile ai-gpuКлючові параметри тут:
numa_balancing=0запобігає міграції пам'яті між сокетами під час тренувальних циклів, що є поширеною причиною затримок на системах з двома сокетами та графічними процесорами.- Параметр
rmem_maxтаtcp_rmemпідвищують верхню межу буфера сокета до 256 МБ. На 25G, 40G або 100G міжвузлових з'єднаннях між вузлами навчання стандартні розміри буфера обмежують пропускну здатність значно нижче лінійної швидкості. transparent_hugepages=neverвидаляє коливання затримки, які THP спричиняє для фреймворків, таких як PyTorch та TensorFlow, що виділяють великі тензори.iommu=ptпереводить IOMMU в режим пропускання, необхідний для пропускання GPU та мережевих карт, і зменшує накладні витрати на DMA на «голій» апаратурі.
Все, що нижче [bootloader] вимагає перезавантаження. Після активації профілю запустіть tuned-adm verify , щоб підтвердити застосування параметрів виконання, та перевірте journalctl -u tuned на наявність помилок. Проведіть тестування продуктивності до та після за допомогою iostat -xz, numastatта відповідним інструментом навантаження (iperf3, fioабо фактичний цикл навчання).
Один компроміс, про який варто сказати прямо: вимкнення заходів безпеки процесора дає приблизно 3–8 % приросту на навантаженнях для графічного процесора, але коштує 15–30 % на навантаженнях із інтенсивними шаблонами системних викликів. Приймайте рішення на основі моделі загроз для даної машини. Усередині виділеного кластера для навчання за брандмауером математика зазвичай схиляє до їх вимкнення. На багатокористувацькому хості залиште їх увімкненими.
Управління профілями у парку серверів
Застосування tuned вручну перестає бути доцільним, коли кількість серверів перевищує кілька одиниць. Ansible вирішує це питання без проблем. Один плейбук встановлює tuned, розміщує каталоги користувацьких профілів у /etc/tuned/ через template модуля та застосовує відповідний профіль для кожної групи інвентаризації.
Прив'яжіть профілі до ролей в інвентарі:
- Вузли GPU та AI:
accelerator-performanceабо користувацький профіль, що успадковує його - Сервери баз даних:
throughput-performanceабо профіль, специфічний для двигуна - Вузли CDN та периферійні вузли, що передають трафік з високою пропускною здатністю:
network-throughput - API та веб-сервери за балансувальником навантаження:
network-latency - VPS та гості KVM:
virtual-guest - Хости гіпервізора:
virtual-host
Дрейф — це справжня операційна проблема. Ручні sysctl зміни, оновлення пакетів, що встановлюють нові значення за замовчуванням, або втручання іншого інструменту управління конфігурацією в налаштування — все це призведе до розбіжностей налаштувань із тим, що вказано у профілі. Заплануйте виконання завдання Ansible tuned-adm active та tuned-adm verify запуску через cron та сповіщення про помилки. Слідкуйте /var/log/tuned/tuned.log на рядки «Verification failed».
Висновок
tuned усуває більшість здогадок щодо налаштування ядра та sysctl. Налаштування за замовчуванням є достатніми для загального використання, а профілі, специфічні для певних робочих навантажень, такі як accelerator-performance, throughput-performance, та network-throughput дозволяють майже повністю оптимізувати систему, не пишучи жодного конфігураційного файлу.
- Виберіть найближчий стандартний профіль, запустіть
tuned-adm verify, а потім проведіть тестування продуктивності - Створіть власні профілі, успадковуючи стандартний профіль і перезаписуючи лише те, що вам потрібно
- Ретельно підходьте до балансування NUMA, hugepages та розмірів мережевих буферів на GPU та машинах з високою пропускною здатністю
- Розгортайте за допомогою Ansible та проводьте аудит за розкладом, щоб виявити відхилення
Потрібна потужність «bare-metal» з запасом пропускної здатності, щоб реально використовувати ці налаштування? Зверніться до FDC щодо виділених серверів, створених для високої пропускної здатності та робочих навантажень на GPU.

Налаштовані профілі для оптимізації навантаження на сервер Linux
Як вибирати, застосовувати та налаштовувати налаштовані профілі для графічних процесорів, баз даних та високошвидкісних серверів Linux, з прикладами та порадами щодо розгортання Ansible.
16 хв читання - 9 червня 2026 р.
Налаштування Linux OOM Killer для VPS: практичний посібник
12 хв читання - 8 червня 2026 р.

Маєте запитання або потребуєте індивідуального рішення?
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання