ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Пятница, 28 февраля, 2025
Сегодня у нас 3 праздника:
День ИТ-специалистов

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

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

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

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

 

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

Первым шагом в снижении нагрузки на оперативную память и процессор является определение процессов, потребляющих больше всего ресурсов, с помощью нескольких инструментов командной строки:

a. Использование команды top

Команда top предоставляет информацию о системных процессах в режиме реального времени, включая использование процессора и памяти.

top

 

 

б. Использование команды htop

Команда htop — это интерактивный просмотрщик процессов, предоставляющий более удобный интерфейс, чем top.

Чтобы установить htop в Linux, используйте следующую команду, подходящую для вашего дистрибутива Linux.
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

 

 

c. Использование команды ps

Команду ps можно использовать для вывода списка процессов и используемых ими ресурсов.

ps aux --sort=-%mem | head # Процессы, потребляющие больше всего памяти
ps aux --sort=-%cpu | head # Процессы, потребляющие больше всего ресурсов процессора

2. Уничтожьте ненужные процессы

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

kill PID

 

Если процесс не завершается, используйте флаг -9 для его принудительного завершения.

kill -9 PID

 

В качестве альтернативы используйте команду pkill, чтобы уничтожать процессы по имени.

pkill process_name

 

3. Оптимизируйте запускаемые приложения

Многие приложения и службы запускаются автоматически при загрузке, потребляя ценные системные ресурсы.

Для управления запускаемыми приложениями:

a. Использование команды systemctl

Выведите список всех включенных служб с помощью команды systemctl.
systemctl list-unit-files --type=service | grep enabled

 

Отключите ненужные службы.

sudo systemctl отключить service_name

 

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

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

 

4. Уменьшите подкачку (оптимизируйте использование подкачки)

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

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

cat /proc/sys/vm/swappiness

 

Значение по умолчанию обычно равно 60, но для уменьшения количества свопов вам нужно отредактировать файл /etc/sysctl.conf

sudo nano /etc/sysctl.conf

 

Добавьте или измените следующую строку.

vm.swappiness=10

 

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

sudo sysctl -p

 

5. Используйте облегченные варианты настольных компьютеров

Тяжёлые среды рабочего стола и приложения могут перегружать системные ресурсы, поэтому рассмотрите возможность перехода на более лёгкие альтернативы:

a. Среды рабочего стола

Замените GNOME или KDE более лёгкими вариантами, такими как XFCELXDE или MATE.

b. Приложения

Используйте легкие приложения, такие как:

 

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

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

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

 

Эта команда очищает кэш страниц, записи и индексные дескрипторы. Используйте её с осторожностью, так как она может временно замедлить доступ к файлам.

 

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 # Для Debian/Ubuntu
sudo yum update # Для CentOS/RHEL

 

Советы по устранению неполадок

 

Заключение

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

Exit mobile version