Как снизить использование оперативной памяти и загрузку процессора в Linux

25.03.2025, 14:20

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

Особенно критично это становится при использовании Linux в профессиональных целях: в дата-центрах, на сервере компании или в среде разработчиков. Поэтому очень важно своевременно оптимизировать систему и контролировать использование ресурсов, чтобы сохранить её отзывчивость и стабильность.

В этом подробном руководстве мы разберем ряд практических способов для снижение нагрузки на CPU и оперативную память. Мы поговорим о мониторинге процессов, управлении автозагрузкой, настройках ядра, выборе более легких приложений и других приемах, которые подойдут как новичкам, так и опытным пользователям.

Определите ресурсоемкие процессы

Перед тем как предпринимать какие-либо действия, нужно точно понимать, кто именно «съедает» ресурсы системы. Ведь невозможно эффективно лечить, не поставив диагноз. К счастью, в Linux есть множество инструментов, позволяющих быстро определить, какие процессы больше всего нагружают процессор или потребляют память.

а. Использование top
Это один из самых базовых и распространённых инструментов. Достаточно ввести в консоли:

top

Перед вами откроется таблица с текущими процессами, отсортированными по их активности. Чтобы изменить порядок сортировки, нажмите P (по загрузке CPU) или M (по использованию памяти). Особенно обратите внимание на столбцы с PID (идентификатор процесса), %CPU и %MEM. Они помогут вам быстро понять, кто ведёт себя чрезмерно активно.

б. Использование htop
htop — это более продвинутая и визуально приятная альтернатива top. В ней удобно пользоваться стрелками, цветовая подсветка делает картину понятнее, а навигация интуитивна. Для запуска просто введите:

htop

Сортировка происходит через клавишу F6, завершение процессов — через F9. 

в. Использование ps
Если вы предпочитаете лаконичные однострочные команды, то можно воспользоваться ps:

ps aux --sort=-%mem | head

или

ps aux --sort=-%cpu | head

Эти команды покажут вам 10 процессов, потребляющих больше всего памяти или процессорного времени соответственно.

Завершите ненужные процессы

После того как вы определили, кто именно создаёт нагрузку, следующим логичным шагом будет устранение этих «проблемных» процессов. Если они действительно не нужны в данный момент, вы можете их завершить, чтобы освободить ресурсы.
Для этого используйте:

kill 1234

Где 1234 — это PID процесса. Если он не завершился, можно попробовать более жёсткий вариант:

kill -9 1234

Также можно убить процесс по имени:

pkill process_name

Главное — убедитесь, что вы не завершаете критически важные системные службы, чтобы не повредить работу ОС.

Отключите лишние автозагрузки

Многие приложения и службы в Linux стартуют автоматически вместе с системой. Это может быть удобно, но зачастую вы даже не подозреваете, сколько всего запускается «в фоне». Каждое из этих приложений использует память и процессор, даже если вам оно сейчас не нужно.

а. Через терминал
Чтобы посмотреть список включенных служб:

systemctl list-unit-files | grep enabled

Отключить приложение можно с помощью команды:
sudo systemctl disable app_name

б. Через графику
Если вы работаете в графическом окружении (например, GNOME или KDE), откройте менеджер автозагрузки (обычно он находится в настройках системы) и снимите галочки с тех программ, которые вы не используете постоянно.

Уменьшите swappiness

Swappiness — это параметр, который указывает системе, как активно использовать пространство подкачки (swap). Если значение слишком высокое (по умолчанию — 60), система может слишком часто обращаться к swap, даже если есть свободная оперативная память, что приводит к замедлениям.

Проверьте текущее значение:

cat /proc/sys/vm/swappiness

Для изменения свопа откройте конфигурационный файл:

sudo nano /etc/sysctl.conf

Вставьте следующую строчку:

vm.swappiness=10

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

sudo sysctl -p

Это поможет системе чаще использовать реальную оперативную память, а не замедленный swap.

Перейдите на легкие альтернативы

Если вы используете тяжёлую графическую среду (например, GNOME или KDE), задумайтесь о переходе на более легкую, особенно если у вас не самый мощный компьютер.

а. Облегченные DE
Такие среды, как XFCE, LXDE или MATE, потребляют значительно меньше ресурсов и работают быстрее, особенно на старых машинах.

б. Менее требовательные приложения
Иногда достаточно заменить пару тяжёлых программ — и система станет заметно шустрее:
→ Текстовый редактор: вместо LibreOffice — AbiWord или Mousepad
→ Веб-браузер: облегченный Firefox или Midori
→ Файловый менеджер: Thunar или PCManFM

Очистите кеш и буферы

Linux активно использует свободную оперативную память под кеш, чтобы ускорить работу с файлами. Это нормально, но в некоторых ситуациях (например, при нехватке RAM) вы можете вручную очистить кэш:

sudo sync; sudo sysctl -w vm.drop_caches=3

Jyf удаляет данные из pagecache и inode-кешей. Используйте ее осторожно — после очистки система может временно «задуматься» при первом доступе к файлам.

Оптимизируйте параметры ядра

Некоторые параметры ядра можно изменить, чтобы добиться более рационального использования ресурсов.
Откройте файл:

sudo nano /etc/sysctl.conf

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

vm.dirty_background_ratio=5
vm.dirty_ratio=10
vm.min_free_kbytes=65536
kernel.sched_autogroup_enabled=0

Это уменьшит объём «грязных» данных в памяти и улучшит планирование задач. Примените изменения:

sudo sysctl -p

Используйте сжатую оперативную память (ZRAM и Zswap)

ZRAM и Zswap — это технологии, которые позволяют сжимать данные в оперативной памяти, увеличивая ее эффективный объем без физического апгрейда.

Установите ZRAM:

sudo apt install zram-config

Запустите службу:

sudo systemctl start zram-config

Для включения Zswap откройте файл GRUB:

sudo nano /etc/default/grub

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

zswap.enabled=1

Сохраните, обновите конфигурацию и перезагрузите систему:

sudo update-grub
sudo reboot

Ограничьте нагрузку на CPU

Если отдельный процесс перегружает процессор, можно ограничить его «аппетиты» с помощью cpulimit.

Установите утилиту:

sudo apt install cpulimit

Ограничьте процесс до 30% CPU:

sudo cpulimit -e browser -l 30

Если вы хотите задать лимит системной службе — используйте:

sudo systemctl set-property имя_службы CPUQuota=30%

Обновляйте систему

Это может показаться очевидным, но регулярные обновления — ключ к стабильной и быстрой системе. Они устраняют ошибки, улучшают производительность и закрывают уязвимости.

sudo apt update && sudo apt upgrade

Для других дистрибутивов команда может отличаться.

Полезные советы

→ Если процесс не завершился через kill, используйте kill -9.
→ Если не работает ZRAM или Zswap, проверьте, поддерживает ли это ваше ядро.
→ Если ни один способ не помог, возможно, пришло время задуматься об апгрейде: установка SSD или увеличение объёма оперативной памяти могут творить чудеса.

Заключение

Оптимизация Linux-системы — это необязательно сложный и трудоемкий процесс. Напротив, большинство действий вполне доступны даже начинающим пользователям. Важно не только следить за тем, какие процессы работают, но и регулярно проводить ревизию: нужно ли вам всё, что запускается при старте, не пора ли обновить систему или заменить тяжелое приложение на более лёгкое?
Если подходить к вопросу комплексно — мониторить, настраивать и тестировать — вы сможете заметно улучшить отзывчивость и стабильность своей системы. А значит, работать с ней будет гораздо приятнее.