Skip to content

Instantly share code, notes, and snippets.

@santaklouse
Created July 1, 2025 10:58
Show Gist options
  • Save santaklouse/cf2d62bfdfc25f260658250d183ea20e to your computer and use it in GitHub Desktop.
Save santaklouse/cf2d62bfdfc25f260658250d183ea20e to your computer and use it in GitHub Desktop.
install zram and zswap to Ubuntu automatically
#!/usr/bin/env bash
set -e
echo "==> Установка zram-tools и необходимых утилит"
apt update
apt install -y zram-tools linux-tools-common linux-tools-generic systemd-zram-generator
echo "==> Настройка ZRAM через systemd-zram-generator"
cat <<EOF > /etc/systemd/zram-generator.conf
[zram0]
zram-size = ram * 0.5
compression-algorithm = zstd
swap-priority = 100
EOF
echo "==> Применение конфигурации ZRAM"
systemctl daemon-reexec
systemctl start systemd-zram-setup@zram0
echo "==> Проверка активности ZRAM"
swapon --show
echo "==> Включение ZSWAP с zstd и лимитом в 20%"
# Добавляем параметры ядра в GRUB
GRUB_FILE="/etc/default/grub"
ZSWAP_PARAMS="zswap.enabled=1 zswap.compressor=zstd zswap.max_pool_percent=20"
if ! grep -q "$ZSWAP_PARAMS" "$GRUB_FILE"; then
sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"\(.*\)\"/GRUB_CMDLINE_LINUX_DEFAULT=\"\1 $ZSWAP_PARAMS\"/" "$GRUB_FILE"
echo "==> Обновление GRUB"
update-grub
else
echo "==> Параметры ZSWAP уже добавлены в GRUB"
fi
echo "==> Немедленное включение ZSWAP без перезагрузки"
echo 1 | tee /sys/module/zswap/parameters/enabled
echo zstd | tee /sys/module/zswap/parameters/compressor
echo 20 | tee /sys/module/zswap/parameters/max_pool_percent
echo "==> Проверка ZSWAP:"
echo -n "ZSWAP enabled: "; cat /sys/module/zswap/parameters/enabled
echo -n "Compressor: "; cat /sys/module/zswap/parameters/compressor
echo -n "Pool max %: "; cat /sys/module/zswap/parameters/max_pool_percent
echo "==> Настройка завершена. Перезагрузите систему для применения параметров ядра."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment