Категории

Оптимизация swap памяти на Raspberry Pi

08.02.2026 | Статья из категории: Без категории

Проблема: Swap заполнен полностью

На Raspberry Pi 4 с 8GB RAM система активно использует swap, хотя оперативной памяти должно хватать. Диагностика показала:

free -m
total used free shared buff/cache available
Mem: 8059 5893 607 642 2413 2166
Swap: 511 507 4
Анализ: Из 8GB оперативной памяти свободно 600MB, swap из 511MB заполнен на 507MB. Система активно использует подкачку, что замедляет работу.

Поиск процессов-виновников

Определяем какие процессы используют swap память:

Анализ использования swap
# Установка утилиты для анализа
sudo apt update
sudo apt install smem

# Просмотр топ-процессов по использованию swap
sudo smem -s swap -r | head -20
PID User Command Swap USS PSS RSS
949 mysql /usr/sbin/mariadbd 145088 217568 217752 221008
160318 mazzick /usr/lib/chromium/chromium 63136 338768 350965 426336
160628 mazzick /usr/lib/chromium/chromium 28544 1392 2079 22288

Результаты анализа:

  • MariaDB: 145MB swap — основной потребитель
  • Chromium: Несколько процессов, суммарно ~300MB swap
  • Другие процессы: Xwayland, labwc, node.js

Быстрые решения

Очистка swap

Быстрое освобождение swap памяти:

sudo swapoff -a && sudo swapon -a

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

free -m

Оптимизация MariaDB

Настройка конфигурации:

Конфигурационный файл
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Оптимальные параметры:

innodb_buffer_pool_size = 64M
key_buffer_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M

Управление Chromium

Снижение потребления памяти:

  • Закрытие неиспользуемых вкладок
  • Отключение лишних расширений
  • Использование режима энергосбережения

Экстренное завершение:

pkill chromium

Долгосрочные настройки

Увеличение swap

Для Raspberry Pi 4 с 8GB RAM рекомендуется 2GB swap:

Создание swap файла
# Удаление старого swap
sudo swapoff /swapfile
sudo rm /swapfile

# Создание нового swap 2GB
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

Внимание: При использовании SD карты частые записи в swap сокращают её срок службы. Рекомендуется использовать zram.

Настройка zram

Установка и настройка zram
# Установка zram
sudo apt install zram-tools

# Настройка конфигурации
sudo nano /etc/default/zramswap

# Параметры конфигурации:
PERCENT=50
ALGO=zstd

Настройка swappiness

Оптимизация частоты использования swap
# Текущее значение
cat /proc/sys/vm/swappiness

# Установка оптимального значения
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Мониторинг и профилактика

Мониторинг в реальном времени

Отслеживание состояния системы:

watch -n 2 'free -m; echo ""; sudo smem -t -p -s swap | head -10'

Установка мониторов:

sudo apt install htop gotop

Управление автозагрузкой

Просмотр автозагружаемых служб:

systemctl list-unit-files --state=enabled

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

sudo systemctl disable mariadb

Диагностические команды

Быстрая диагностика:

ps aux --sort=-%mem | head -10
swapon --show
cat /proc/swaps

Итоговые рекомендации

Чек-лист действий:

  1. Определить процессы-потребители swap (smem)
  2. Оптимизировать или остановить MariaDB
  3. Контролировать использование Chromium
  4. Увеличить swap или настроить zram
  5. Установить swappiness=10
  6. Настроить регулярный мониторинг

Специфика для Raspberry Pi:

  • Используйте zram вместо swap на SD картах
  • Регулярно очищайте swap при использовании файла подкачки
  • Контролируйте автозагрузку — ресурсы ограничены
  • Рассмотрите Firefox как альтернативу Chromium
  • При активной работе с swap используйте SSD вместо SD карты

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA