Linux — это мощная и эффективная операционная система, но высокая загрузка оперативной памяти и процессора может ухудшить производительность, замедлить приложения и даже вызвать сбои системы, когда вы запускаете сервер, рабочую станцию или встроенную систему, поэтому оптимизация использования ресурсов имеет решающее значение для бесперебойной работы.
В этом руководстве мы рассмотрим практические методы снижения использования оперативной памяти и процессора в Linux. Мы обсудим инструменты мониторинга, управление процессами, настройки ядра и методы оптимизации системы, чтобы ваша система работала эффективно.
1. Определите ресурсоемкие процессы
Первый шаг к снижению использования оперативной памяти и процессора — определить, какие процессы потребляют наибольшее количество ресурсов, используя несколько инструментов командной строки:
a. Использование команды top
Команда top предоставляет информацию о процессах системы в реальном времени, включая использование процессора и памяти.
top
- Нажмите
P
, чтобы отсортировать процессы по использованию процессора. - Нажмите
M
, чтобы отсортировать процессы по использованию памяти. - Ищите процессы, потребляющие чрезмерное количество ресурсов, и запишите их идентификатор процесса (PID).

b. Использование команды htop
htop — это интерактивный просмотрщик процессов, который предоставляет более удобный интерфейс, чем top
.
Чтобы установить htop на Linux, используйте соответствующую команду для вашей конкретной дистрибуции Linux.
sudo apt install htop [On Debian, Ubuntu and Mint] sudo dnf install htop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [On Gentoo Linux] sudo apk add htop [On Alpine Linux] sudo pacman -S htop [On Arch Linux] sudo zypper install htop [On OpenSUSE] sudo pkg install htop [On FreeBSD]
Запустите htop
, чтобы легко просматривать и управлять процессами.
htop
- Нажмите
F6
, чтобы отсортировать процессы по использованию ЦП или памяти. - Нажмите
F9
, чтобы завершить выбранный процесс.

c. Использование команды ps
Команда ps может быть использована для перечисления процессов и их использования ресурсов.
ps aux --sort=-%mem | head # Top memory-consuming processes ps aux --sort=-%cpu | head # Top CPU-consuming processes

2. Завершение ненужных процессов
После того как вы определили процессы, потребляющие много ресурсов, вы можете завершить их, чтобы освободить ресурсы, используя команду kill, за которой следует PID.
kill PID
Если процесс не завершается, используйте флаг -9
, чтобы принудительно завершить его.
kill -9 PID
В качестве альтернативы используйте команду pkill, чтобы завершить процессы по имени.
pkill process_name
3. Оптимизация приложений запуска
Многие приложения и службы автоматически запускаются при загрузке, потребляя ценные системные ресурсы.
Для управления запуском приложений:
а. Используя команду systemctl
Просмотреть все включенные службы с помощью команды systemctl.
systemctl list-unit-files --type=service | grep enabled
Отключить ненужные службы.
sudo systemctl disable service_name

б. Используя графические инструменты
Если вы используете рабочее окружение, такое как GNOME или KDE, используйте встроенный менеджер автозапуска для отключения ненужных программ.
4. Уменьшите Swappiness (Оптимизируйте использование подкачки)
Swappiness контролирует, как часто система использует файл подкачки вместо ОЗУ. Высокое значение swappiness может привести к избыточной подкачке, замедляя систему.
Для проверки текущего значения swappiness:
cat /proc/sys/vm/swappiness
Значение по умолчанию обычно равно 60
, но для уменьшения swappiness необходимо отредактировать файл /etc/sysctl.conf
.
sudo nano /etc/sysctl.conf
Добавьте или измените следующую строку.
vm.swappiness=10
Сохраните файл и примените изменения.
sudo sysctl -p
5. Используйте легкие альтернативы рабочего стола
Тяжелые рабочие окружения и приложения могут перегружать системные ресурсы, поэтому рассмотрите возможность перехода на легкие альтернативы:
а. Рабочие окружения
Замените GNOME или KDE на более легкие варианты, такие как XFCE, LXDE или MATE.
b. Приложения
Используйте легкие приложения, такие как:
- Текстовый редактор: Замените LibreOffice на AbiWord или Mousepad.
- Веб-браузер: Используйте Firefox с меньшим количеством расширений или перейдите на легкие браузеры, такие как Midori.
- Файловый менеджер: Замените Nautilus на Thunar или PCManFM.
6. Очистка кеша и буферов
Linux использует ОЗУ для кэширования файлов и улучшения производительности. Однако вы можете вручную очистить кеш при необходимости:
sudo sync; sudo sysctl -w vm.drop_caches=3
Эта команда очищает кэш страниц, dentries и иноды. Используйте ее осторожно, так как это может временно замедлить доступ к файлам.
7. Оптимизация параметров ядра
Для настройки или оптимизации параметров ядра вам нужно отредактировать файл /etc/sysctl.conf
и добавить следующее или настроить параметры для улучшения производительности системы.
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
Эти настройки контролируют частоту записи грязных данных на диск, сокращая использование ОЗУ.
8. Снижение использования памяти с помощью ZRAM
Zram и Zswap – это технологии сжатой памяти, которые могут снизить использование ОЗУ.
sudo apt install zram-config sudo systemctl start zram-config
После установки вам нужно отредактировать файл конфигурации GRUB (/etc/default/grub
) и добавить:
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
Обновите GRUB и перезагрузитесь:
sudo update-grub sudo reboot
9. Ограничение использования ЦП процессами
Если процесс загружает процессор, ограничьте его использование с помощью cpulimit.
sudo apt install cpulimit # Debian/Ubuntu sudo yum install cpulimit # RHEL/CentOS
Ограничьте использование процесса (например, firefox) до 30% процессорного времени.
sudo cpulimit -e firefox -l 30
Чтобы постоянно ограничить процесс, используйте systemd.
sudo systemctl set-property <service_name> CPUQuota=30%
10. Регулярно обновляйте вашу систему
Поддерживая вашу систему в актуальном состоянии, вы гарантируете наличие последних улучшений производительности и исправлений ошибок.
sudo apt update && sudo apt upgrade # For Debian/Ubuntu sudo yum update # For CentOS/RHEL
Советы по устранению неполадок
- Если процесс не завершается с помощью
kill
, используйтеkill -9 PID
для принудительного завершения. - Если
zram
илиzswap
не работают, убедитесь, что ваше ядро поддерживает эти функции. - Если производительность системы не улучшается, рассмотрите возможность обновления оборудования (например, добавление большего объема ОЗУ или переход на SSD).
Заключение
Оптимизация использования ОЗУ и процессора в Linux – это сочетание мониторинга, настройки и иногда обновления оборудования. Идентифицируя ресурсоемкие процессы, настраивая параметры системы и выбирая легковесные альтернативы, вы можете придать новую жизнь вашей системе.
Попробовали ли вы эти техники оптимизации? Поделитесь своим опытом в комментариях ниже или посетите Tecmint.com для получения дополнительных руководств и учебных пособий по Linux.
Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/