Linux — мощная и эффективная операционная система, но высокая загрузка оперативной памяти и процессора может снизить производительность, замедлить работу приложений и даже привести к сбоям системы, если вы используете сервер, рабочую станцию или встроенную систему. Оптимизация использования ресурсов необходима для бесперебойной работы.
В этой статье мы рассмотрим практические методы снижения нагрузки на оперативную память и процессор в Linux. Мы расскажем о средствах мониторинга, управлении процессами, настройках ядра и методах оптимизации системы, которые помогут обеспечить эффективную работу вашей системы.
Первым шагом в снижении нагрузки на оперативную память и процессор является определение процессов, потребляющих больше всего ресурсов, с помощью нескольких инструментов командной строки:
Команда top предоставляет информацию о системных процессах в режиме реального времени, включая использование процессора и памяти.
top
P
, чтобы отсортировать процессы по загрузке процессора.M
, чтобы отсортировать процессы по использованию памяти.
Команда htop — это интерактивный просмотрщик процессов, предоставляющий более удобный интерфейс, чем top
.
sudo apt install htop [в Debian, Ubuntu и Mint] sudo dnf install htop [в RHEL/CentOS/Fedora и Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [в Gentoo Linux] sudo apk add htop [в Alpine Linux] sudo pacman -S htop [в Arch Linux] sudo zypper install htop [в OpenSUSE] sudo pkg install htop [Во FreeBSD]
Запустите htop
, чтобы легко просматривать процессы и управлять ими.
htop
F6
, чтобы отсортировать процессы по использованию процессора или памяти.F9
, чтобы завершить выбранный процесс.
Команду ps можно использовать для вывода списка процессов и используемых ими ресурсов.
ps aux --sort=-%mem | head # Процессы, потребляющие больше всего памяти ps aux --sort=-%cpu | head # Процессы, потребляющие больше всего ресурсов процессора
Определив процессы, потребляющие много ресурсов, вы можете завершить их, чтобы освободить ресурсы, с помощью команды kill с указанием PID.
kill PID
Если процесс не завершается, используйте флаг -9
для его принудительного завершения.
kill -9 PID
В качестве альтернативы используйте команду pkill, чтобы уничтожать процессы по имени.
pkill process_name
Многие приложения и службы запускаются автоматически при загрузке, потребляя ценные системные ресурсы.
Для управления запускаемыми приложениями:
systemctl list-unit-files --type=service | grep enabled
Отключите ненужные службы.
sudo systemctl отключить service_name
Если вы используете среду рабочего стола, например GNOME или KDE, используйте встроенный менеджер автозапуска приложений, чтобы отключить ненужные программы.
Значение Swappiness определяет, как часто система использует пространство подкачки вместо оперативной памяти. Высокое значение Swappiness может привести к чрезмерному использованию пространства подкачки, что замедлит работу вашей системы.
Чтобы проверить текущее значение возможности замены:
cat /proc/sys/vm/swappiness
Значение по умолчанию обычно равно 60
, но для уменьшения количества свопов вам нужно отредактировать файл /etc/sysctl.conf
sudo nano /etc/sysctl.conf
Добавьте или измените следующую строку.
vm.swappiness=10
Сохраните файл и примените изменения.
sudo sysctl -p
Тяжёлые среды рабочего стола и приложения могут перегружать системные ресурсы, поэтому рассмотрите возможность перехода на более лёгкие альтернативы:
Замените GNOME или KDE более лёгкими вариантами, такими как XFCE, LXDE или MATE.
Используйте легкие приложения, такие как:
Linux использует оперативную память для кэширования файлов и повышения производительности. Однако при необходимости вы можете очистить кэш вручную:
sudo sync; sudo sysctl -w vm.drop_caches=3
Эта команда очищает кэш страниц, записи и индексные дескрипторы. Используйте её с осторожностью, так как она может временно замедлить доступ к файлам.
Чтобы настроить или оптимизировать параметры ядра, вам нужно отредактировать файл /etc/sysctl.conf
и добавить следующие параметры или изменить их для повышения производительности системы.
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
Эти настройки определяют, как часто «грязные» данные записываются на диск, что снижает нагрузку на оперативную память.
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
Если процесс перегружает процессор, ограничьте его использование с помощью 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%
Постоянное обновление вашей системы гарантирует, что вы будете иметь последние улучшения производительности и исправления ошибок.
sudo apt update && sudo apt upgrade # Для Debian/Ubuntu sudo yum update # Для CentOS/RHEL
kill
, используйте kill -9 PID
для его принудительного завершения.zram
или zswap
не работают, убедитесь, что ваше ядро поддерживает эти функции.
Оптимизация использования оперативной памяти и процессора в Linux — это сочетание мониторинга, настройки и периодического обновления оборудования. Выявив процессы, потребляющие много ресурсов, настроив системные параметры и выбрав более лёгкие альтернативы, вы сможете вдохнуть новую жизнь в свою систему.