Retourner sur le site

Swap et ZRAM

Configurer une partition swap ou ZRAM sur un VPS HolyCloud pour absorber les pics de mémoire sans saturer la RAM.

Swap et ZRAM

Un VPS Linux HolyCloud avec peu de RAM (1–2 Go) peut être tué par l'OOM killer lors de pics (build, MySQL, PHP). La swap sur disque ou ZRAM (RAM compressée) offre une marge supplémentaire. Ce guide compare les deux et détaille la configuration.

Prérequis

  • VPS HolyCloud Ubuntu 22.04/24.04 ou Debian 12
  • Accès sudo
  • Pour swap disque : espace libre sur le disque (souvent 1–2 Go suffisent pour un petit VPS)

Note : Kubernetes/K3s recommande de désactiver la swap classique. Pour un serveur web classique, swap ou ZRAM reste pertinent.

Comprendre swap vs ZRAM

| Critère | Swap fichier/disque | ZRAM |

|---------|---------------------|------|

| Support | Fichier ou partition | Bloc compressé en RAM |

| Vitesse | Lent (I/O disque) | Plus rapide |

| Usure SSD | Oui (modérée) | Non |

| Idéal pour | VPS 2 Go+, marge simple | VPS 1 Go, pics courts |

Étape 1 : état actuel

free -h
swapon --show
cat /proc/swaps

Étape 2 : swap fichier (méthode courante)

Taille recommandée : 50 % à 100 % de la RAM pour un VPS web (ex. 2 Go RAM → 2 Go swap).

sudo fallocate -l 2G /swapfile
# Si fallocate échoue :
# sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Persistant dans /etc/fstab :

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Paramètre swappiness (fréquence d'utilisation de la swap, 10–60 selon charge) :

echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swap.conf
sudo sysctl -p /etc/sysctl.d/99-swap.conf

Étape 3 : ZRAM avec zram-generator (Ubuntu/Debian récents)

sudo apt update
sudo apt install -y zram-tools

Configuration /etc/default/zramswap ou via generator — exemple /etc/systemd/zram-generator.conf :

[zram0]
zram-size = ram / 2
compression-algorithm = zstd

Sur certaines images :

sudo nano /etc/default/zramswap
# ALGO=zstd
# PERCENT=50
sudo systemctl restart zramswap
# ou
sudo systemctl enable --now zram-configure

Vérifiez :

zramctl
free -h

Étape 4 : ne pas cumuler excessivement

Évitez 2 Go swap disque + 50 % ZRAM sur un VPS 2 Go sans raison : vous masquez une saturation mémoire réelle. Choisissez l'un ou l'autre pour la plupart des cas HolyCloud.

Désactiver la swap fichier si vous passez à ZRAM seul :

sudo swapoff /swapfile
sudo sed -i '/\/swapfile/d' /etc/fstab
sudo rm /swapfile

Étape 5 : surveillance

watch -n 5 free -h
grep -i swap /var/log/syslog

Si la swap est constamment utilisée, augmentez la RAM de l'offre VPS HolyCloud plutôt que d'agrandir indéfiniment la swap.

Vérification

free -h
swapon --show
zramctl 2>/dev/null || true
cat /proc/sys/vm/swappiness

Besoin d'aide HolyCloud

  • Service lent après activation swap : normal sous charge I/O — envisagez plus de RAM
  • ZRAM absent après reboot : systemctl status zramswap, paquet zram-tools installé
  • Support HolyCloud : free -h, swapon --show, taille offre VPS et workload (MySQL, Docker, etc.)