Подробный гайд: Оптимизация CPU в Astra Linux для максимальной производительности

Гайд по оптимизации CPU в Astra Linux: настройка governor, отключение C-states, профиль Performance и A-Tune для максимальной производительности системы

2026.05.07                  


Подробный гайд: Оптимизация CPU в Astra Linux для максимальной производительностиПодробный гайд: Оптимизация CPU в Astra Linux для максимальной производительности

Важно:

Данные настройки предназначены для систем, где приоритетом является производительность, а не энергоэффективность. На ноутбуках это приведёт к повышенному энергопотреблению и нагреву.


Шаг 1: Установка режима производительности для CPU (CPU Governor)

Проверка текущего режима

# Проверка текущего governor для всех ядер
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# Детальная информация о частоте
cpupower frequency-info

Установка режима performance (максимальная частота)

# Временная установка (до перезагрузки)
sudo cpupower frequency-set -g performance

# Для всех ядер вручную (если cpupower не работает)
for cpu in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
    echo performance | sudo tee $cpu
done

Постоянное применение после перезагрузки

Способ 1: Через cpufrequtils

sudo apt install cpufrequtils
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl enable cpufrequtils
sudo systemctl restart cpufrequtils

Способ 2: Через systemd-сервис

sudo tee /etc/systemd/system/cpu-performance.service << 'EOF'
[Unit]
Description=Set CPU governor to performance
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower frequency-set -g performance
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable --now cpu-performance.service

Если вы хотите отключить режим энергосбережения, установите governor в значение performance. Это заставит процессор работать на максимальной частоте.


Шаг 2: Отключение энергосберегающих состояний (C-states)

Временное отключение глубоких C-states

# Отключение C6 для всех ядер
for i in /sys/devices/system/cpu/cpu*/cpuidle/state*/disable; do
    echo 1 | sudo tee $i 2>/dev/null
done

Постоянное отключение через параметры ядра

# Редактирование GRUB
sudo nano /etc/default/grub

Добавьте в строку GRUB_CMDLINE_LINUX_DEFAULT:

intel_idle.max_cstate=1 processor.max_cstate=1 idle=poll

Затем обновите GRUB:

sudo update-grub
sudo reboot

Отключение C-states (CPU C-state) предотвращает переход процессора в режимы пониженного энергопотребления, что снижает задержки при переключении частот.


Шаг 3: Использование профиля ядра Performance (Astra Linux 1.8.5+)

В релизе Astra Linux 1.8.5 добавлен специальный профиль ядра Performance, оптимизирующий внутренние параметры для максимальной производительности.

Применение через kernel-profiles-manager

# Установка утилиты (если не установлена)
sudo apt install kernel-profiles-manager

# Просмотр доступных профилей
kernel-profiles-manager list

# Применение профиля Performance
sudo kernel-profiles-manager apply performance

# Перезагрузка для применения изменений
sudo reboot

Профиль Performance оптимизирует внутренние параметры ядра, повышает приоритет отклика и снижает задержки планировщика задач.


Шаг 4: Автоматическая оптимизация через A-Tune

A-Tune — инструмент на базе ИИ для автоматической настройки параметров системы под конкретную нагрузку.

Установка и базовая настройка

# Установка (доступно в репозиториях Astra Linux Special Edition)
sudo apt update
sudo apt install atune atune-adm

# Запуск и включение службы
sudo systemctl enable --now atuned

# Просмотр доступных профилей
atune-adm list

# Применение профиля для общей производительности
sudo atune-adm profile default-default

Динамическая оптимизация (автоматический подбор параметров)

# Запуск анализа и применения оптимальных настроек
sudo atune-adm analysis --apply

A-Tune использует машинное обучение для поиска оптимальной конфигурации, повышая эффективность тюнинга примерно на 10% по сравнению с ручной настройкой.


Шаг 5: Дополнительные оптимизации ядра (sysctl)

Оптимизация планировщика и памяти

sudo tee -a /etc/sysctl.d/99-performance.conf << 'EOF'
# Уменьшение агрессивности свопа
vm.swappiness=10
vm.vfs_cache_pressure=50

# Оптимизация планировщика
kernel.sched_min_granularity_ns=10000000
kernel.sched_wakeup_granularity_ns=15000000

# Увеличение лимитов для сетевых соединений
net.core.netdev_max_backlog=5000
net.core.somaxconn=4096
net.ipv4.tcp_max_syn_backlog=4096

# Оптимизация TCP
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_fastopen=3
EOF

# Применение настроек
sudo sysctl -p /etc/sysctl.d/99-performance.conf

Шаг 6: Мониторинг и проверка результатов

Проверка текущей частоты и режима

# Частота каждого ядра в реальном времени
watch -n 1 'cat /proc/cpuinfo | grep "MHz"'

# Статистика по CPU
mpstat -P ALL 1

# Использование cpupower
cpupower monitor

Тестирование производительности

# Установка инструментов
sudo apt install sysbench stress-ng

# Тест процессора (4 потока, 30 секунд)
sysbench cpu --threads=4 --time=30 run

# Стресс-тест
stress-ng --cpu 4 --timeout 60s

Чек-лист быстрой оптимизации

Действие Эффект Сложность
cpupower frequency-set -g performance Высокий Низкая
Отключение C-states через GRUB Высокий Средняя
Применение профиля performance через kernel-profiles-manager Очень высокий Низкая
Установка A-Tune и запуск auto-tuning Средний Средняя
Оптимизация sysctl-параметров Средний Высокая

Важные предупреждения

  1. Температура: Режим performance увеличивает нагрев. Убедитесь, что система охлаждения исправна.
  2. Энергопотребление: На ноутбуках время работы от батареи сократится в 2-3 раза.
  3. Стабильность: Отключение C-states может увеличить энергопотребление в простое до 30-50%.
  4. Безопасность: В Astra Linux Special Edition некоторые оптимизации могут конфликтовать с политиками безопасности — тестируйте в изолированной среде.

Совет:

Для серверов с переменной нагрузкой рассмотрите компромиссный вариант — использование профиля ondemand или schedutil, которые балансируют производительность и энергоэффективность.