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, paquetzram-toolsinstallé - Support HolyCloud :
free -h,swapon --show, taille offre VPS et workload (MySQL, Docker, etc.)