# 1. Crea un file di swap da 1 GB
Codice: Seleziona tutto
sudo fallocate -l 1G /swapfile
Codice: Seleziona tutto
sudo chmod 600 /swapfile
Codice: Seleziona tutto
sudo mkswap /swapfile
Codice: Seleziona tutto
sudo swapon /swapfile
Codice: Seleziona tutto
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Subito dopo:
Codice: Seleziona tutto
free -h
Swap: 1.0Gi 0B 1.0Gi
Puoi anche regolare la "tendenza" del sistema a usare lo swap con questo comando:
Codice: Seleziona tutto
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Codice: Seleziona tutto
sudo sysctl -p
Tutto pronto: swap attivo, niente riavvio richiesto.
Ecco uno script che controlla periodicamente l’uso della swap e ti avvisa nel log se il sistema inizia a usarla (il che può indicare che la RAM è satura o che un processo sta consumando troppo).
Codice: Seleziona tutto
#!/bin/bash
# Soglia di utilizzo swap (in MiB) per segnalare allerta
SWAP_THRESHOLD_MB=50
# Ottieni quantità di swap usata in MiB
swap_used=$(free -m | awk '/Swap:/ {print $3}')
# File di log
LOGFILE="/var/log/swap_monitor.log"
# Timestamp
NOW=$(date "+%Y-%m-%d %H:%M:%S")
if [ "$swap_used" -ge "$SWAP_THRESHOLD_MB" ]; then
echo "[$NOW] ⚠️ Swap in uso: ${swap_used} MiB (supera soglia ${SWAP_THRESHOLD_MB} MiB)" >> "$LOGFILE"
else
echo "[$NOW] ✅ Swap OK: ${swap_used} MiB usati" >> "$LOGFILE"
fi
Crea lo script
Codice: Seleziona tutto
nano /root/check_swap_usage.sh
Rendilo eseguibile
Codice: Seleziona tutto
chmod +x /root/check_swap_usage.sh
Codice: Seleziona tutto
sudo crontab -e
Codice: Seleziona tutto
*/30 * * * * /root/check_swap_usage.sh
Codice: Seleziona tutto
cat /var/log/swap_monitor.log
Puoi aumentare o diminuire la soglia (SWAP_THRESHOLD_MB)