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

Як вибирати, застосовувати та налаштовувати оптимізовані профілі для серверів на базі графічних процесорів (GPU), серверів баз даних та серверів 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.
Створення власного профілю для завдань у сферах штучного інтелекту, машинного навчання та з високою пропускною здатністю
Якщо стандартні профілі дозволяють вирішити 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 та ШІ:
accelerator-performanceабо користувацький профіль, що успадковує його - Сервери баз даних:
throughput-performanceабо профіль, специфічний для двигуна - Вузли CDN та периферійні вузли, що передають трафік з високою пропускною здатністю:
network-throughput - API- та веб-сервери за балансувальником навантаження:
network-latency - VPS та гості KVM:
virtual-guest - Хости гіпервізора:
virtual-host
Відхилення — це справжня операційна проблема. Ручні sysctl зміни, оновлення пакетів, що встановлюють нові значення за замовчуванням, або втручання іншого інструменту управління конфігурацією в роботу tuned — все це призведе до розбіжностей налаштувань із тим, що зазначено в профілі. Заплануйте виконання завдання 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 та розмірів мережевих буферів на системах з графічними процесорами та системах з високою пропускною здатністю
- Розгортайте системи за допомогою Ansible та проводьте аудит за розкладом, щоб виявити відхилення
Потрібна потужність «bare-metal» із запасом пропускної здатності, щоб реально використовувати ці налаштування? Зверніться до FDC щодо виділених серверів, створених для робочих навантажень із високою пропускною здатністю та використанням графічних процесорів.

Посібник з використання iperf3: тестування швидкості мережі в Linux та Windows
Встановіть iperf3, проведіть тести пропускної здатності та налаштуйте буфери TCP для отримання точних результатів у Linux та Windows. Охоплює тестування UDP, двонаправлене тестування та тестування 10GbE+
10 хв читання - 7 травня 2026 р.
Налаштовані профілі для оптимізації робочих навантажень серверів Linux
16 хв читання - 9 червня 2026 р.

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