Page 1 of 1

Crea una partizione di swap, almeno 1 GiB

Posted: Sunday 4 May 2025, 15:52
by Matteo
No, non è necessario riavviare il sistema dopo aver creato e attivato lo swap manualmente. Una volta eseguiti i comandi corretti, lo swap è attivo immediatamente.
✅ Ricapitoliamo i comandi (da usare una sola volta):

# 1. Crea un file di swap da 1 GB

Code: Select all

sudo fallocate -l 1G /swapfile
# 2. Imposta i permessi corretti

Code: Select all

sudo chmod 600 /swapfile
# 3. Inizializza il file di swap

Code: Select all

sudo mkswap /swapfile
# 4. Attiva lo swap subito (senza riavvio)

Code: Select all

sudo swapon /swapfile
# 5. Aggiungi allo /etc/fstab per renderlo permanente al riavvio

Code: Select all

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
🔍 Verifica che lo swap sia attivo
Subito dopo:

Code: Select all

free -h
Dovresti vedere qualcosa del genere:
Swap: 1.0Gi 0B 1.0Gi

🛡️ Consiglio aggiuntivo: migliorare la gestione della RAM

Puoi anche regolare la "tendenza" del sistema a usare lo swap con questo comando:

Code: Select all

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

Code: Select all

sudo sysctl -p
vm.swappiness=10: usa lo swap solo quando la RAM è quasi piena (default è 60, più aggressivo).

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).

Code: Select all

#!/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
🛠️ Istruzioni per l'uso
Crea lo script

Code: Select all

nano /root/check_swap_usage.sh
Incolla il contenuto sopra, salva (CTRL+O, INVIO, CTRL+X)

Rendilo eseguibile

Code: Select all

chmod +x /root/check_swap_usage.sh
Aggiungilo a cron (es. ogni 30 min)

Code: Select all

sudo crontab -e
E aggiungi:

Code: Select all

*/30 * * * * /root/check_swap_usage.sh
Verifica il log dopo un po'

Code: Select all

cat /var/log/swap_monitor.log
✅ Personalizzabile
Puoi aumentare o diminuire la soglia (SWAP_THRESHOLD_MB)