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