Linux

Оптимизация производительности Linux: пошаговое улучшение скорости системы

Этот гайд поможет вам быстро повысить скорость Linux-системы путем корректировки параметров ядра, управления службами и оптимизации ввода-вывода. После выполнения шагов вы увидите заметное ускорение работы.

Обновлено 3 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04Debian 12Fedora 38CentOS Stream 9

Введение

Современные Linux-системы могут замедляться из-за накопления ненужных процессов, не оптимальных параметров ядра и нерационального использования дискового пространства. Этот гайд позволит вам быстро проверить текущее состояние системы, внести конкретные изменения в настройки ядра, дисковой подсистемы, служб и своп-памяти, а затем подтвердить видимое улучшение производительности. Все шаги написаны для популярных дистрибутивов, таких как Ubuntu, Debian, Fedora и CentOS.

Требования / Подготовка

  • Права root (или sudo) для редактирования конфигурационных файлов и управления службами.
  • Поддерживаемые ОС: Ubuntu 22.04, Debian 12, Fedora 38, CentOS Stream 9 (другие дистрибутивы работают аналогично).
  • Установленные утилиты: htop, iotop/iostat (часть пакета sysstat), vim/nano для редактирования файлов.
  • Резервная копия важных данных перед изменением параметров ввода-вывода.

Пошаговая инструкция

Шаг 1: Проверка ресурсов системы

Перед внесением изменений получите базовые метрики:

htop                     # просмотр загрузки CPU и процессов
iostat -x 1 3           # активность диска (чтение/запись)
free -h                 # объём RAM и свопа
df -h                   # использование файловых систем

Запишите наблюдаемые пиковые значения – они послужат отправной точкой для оценки улучшения.

Шаг 2: Настройка параметров ядра через sysctl

Откройте файл конфигурации:

/etc/sysctl.conf

Добавьте или отредактируйте следующие параметры (значения подобраны для большинства серверных сценариев):

# Снижение использования свопа
vm.swappiness = 10

# Максимальное количество открытых файлов
fs.file-max = 2048576

# Сетевой буфер
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
net.ipv4.tcp_rmem = 4096 87380 12582912
net.ipv4.tcp_wmem = 4096 65536 12582912

# Оптимизация для NFS/сетевых файловых систем
netnfs.nfs_client_timeout = 30000

Сохраните файл и примените изменения:

sudo sysctl -p

Перезагрузка не требуется – параметры вступят в силу немедленно.

Шаг 3: Оптимизация дисковой подсистемы

SSD-накопители. Регулярно запускайте команду очистки неиспользуемого пространства:

sudo fstrim -v /

HDD-накопители. Если /tmp не используется для кэширования, временных файлов или приложений, можно отключить журнал для этого монтирования (пример для ext4):

# Определите устройство, к примеру, /dev/sda3
sudo tune2fs -O ^has_journal /dev/sda3

После изменения перемонтируйтеFS (sudo umount /tmp && sudo mount /tmp), чтобы изменения вступили в силу.

Шаг 4: Управление службами

Отключите сервисы, которые не нужны для повседневной работы:

# Список всех активных сервисов
systemctl list-unit-files --type=service --state=enabled

# Пример: отключение Docker, если он не используется
sudo systemctl disable --now docker

Если вы используете графический интерфейс (X/Wayland), убедитесь, что автозагрузка дисплейного сервера не конфликтует с другими дисплейными сессиями. После отключения ненужных служб перезагрузите систему:

sudo reboot

Шаг 5: Настройка свопа

Если объём оперативной памяти ограничен (< 4 ГБ), настройте своп-память и снизьте swappiness:

# Убедитесь, что параметр применён (см. Шаг 2)
echo 'vm.swappiness = 10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# Создайте файл подкачки объёмом 2 ГБ
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Сделать постоянным после перезагрузки
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Теперь система будет использовать файл подкачки только при явной нехватке памяти.

Проверка результата

После перезагрузки и выполнения всех шагов повторите команды из Шага 1:

htop && iostat -x 1 2 && free -h

Сравните результаты с исходными показателями. Вы должны увидеть:

  • Низкое среднее использование CPU (< 30 %).
  • Стабильные показатели ввода-вывода на диске (если раньше были пиковые загрузки, они должны снизиться).
  • Увеличение свободной RAM после отключения ненужных служб.

Если результаты не улучшились, вернитесь к шагам, где вы изменяли параметры, и проверьте правильность редактирования конфигурационных файлов.

Возможные проблемы

СимптомПричинаРешение
Система стала более медленной после изменения vm.swappinessЗначение слишком низкое для текущих нагрузокУвеличьте vm.swappiness до 30–40 (sudo sysctl -w vm.swappiness=30)
iostat показывает высокую активность диска после оптимизацииФоновые службы продолжают использовать диск (например, обновления apt)Запустите sudo apt-get autoremove и sudo journalctl -u apt для проверки
Своп-память не используется даже при низком объёме RAMvm.swappiness всё ещё равен 60 или большеУбедитесь, что /etc/sysctl.conf содержит vm.swappiness = 10 и выполните sudo sysctl -p
Отключение сервиса привело к сбоям автозагрузкиНеправильный сервис был выбранИспользуйте systemctl status <service> для проверки зависимости перед отключением

Если после внесения изменений система не реагирует, запустите её в однопользовательском режиме (sudo reboot && sudo su -), проверьте целостность файловой системы (fsck) и восстановите резервную копию /etc/sysctl.conf, если изменения привели к нестабильности.

Часто задаваемые вопросы

Как проверить текущую производительность системы?
Какие параметры ядра влияют на скорость?
Как отключить ненужные службы?
Когда нужно настраивать своп?

Полезное

Проверка ресурсов системы
Настройка параметров ядра через sysctl
Оптимизация дисковой подсистемы
Управление службами
Настройка свопа

Эта статья помогла вам решить проблему?