Come ottimizzare lo spazio di archiviazione su Linux
15 min di lettura - 22 maggio 2026

Tecniche pratiche per recuperare e ottimizzare lo spazio su disco dei server Linux, dalla pulizia della cache dei pacchetti alla messa a punto del filesystem e alla manutenzione automatica.
Come ottimizzare lo spazio di archiviazione su Linux
Per anni, la risposta standard a un disco pieno era semplice: aggiungere più spazio di archiviazione. Lo spazio di archiviazione era economico. Ora non è più così. I prezzi delle memorie flash NAND sono aumentati vertiginosamente dalla fine del 2025, spinti dalla domanda di infrastrutture di IA che ha assorbito la capacità produttiva globale. I prezzi contrattuali degli SSD aziendali sono aumentati dell'85-90% solo nel primo trimestre del 2026, le unità NVMe di consumo hanno quasi raddoppiato il prezzo al dettaglio e la nuova capacità produttiva di NAND non dovrebbe diventare operativa prima del 2027.
Il risultato: ogni gigabyte sul vostro server costa più di un anno fa, e questo rende l'ottimizzazione di ciò che già possedete un investimento molto migliore rispetto all'acquisto di nuova capacità. Questo post spiega come individuare cosa sta occupando lo spazio sul vostro disco, ripulirlo e configurare il vostro filesystem per utilizzare lo spazio di archiviazione in modo più efficiente.
Scoprire cosa sta occupando spazio sul disco
Inizia con df -h per ottenere un'istantanea di ogni filesystem montato, incluse le dimensioni totali, lo spazio utilizzato e la percentuale di utilizzo. Qualsiasi partizione al di sopra del 90% richiede attenzione. Controlla le partizioni specifiche singolarmente se necessario:
df -h /
df -h /bootNon trascurare gli inode. Un filesystem può avere spazio libero ma nessun inode disponibile, il che causa gli stessi errori. Controlla con df -i.
Se df mostra un utilizzo del 100% ma i numeri non tornano, probabilmente hai dei file fantasma. Si tratta di file che sono stati eliminati ma che sono ancora tenuti aperti da un processo in esecuzione. Lo spazio non verrà recuperato finché il processo non rilascerà l'handle del file. Trovali con:
sudo lsof / | grep deletedUna volta individuati i file system sotto pressione, approfondisci le directory con du o ncdu. Per controlli rapidi o script, du è lo strumento giusto:
du -h --max-depth=1 /varAggiungi -x durante la scansione dalla radice per rimanere su un singolo filesystem e saltare i mount virtuali come /proc. Per l'esplorazione interattiva su un server remoto, ncdu ti offre un'interfaccia testuale navigabile in cui puoi ordinare per dimensione ed eliminare i file direttamente.
| Caratteristica | du | ncdu |
|---|---|---|
| Interfaccia | Output statico della riga di comando | TUI interattiva con navigazione tramite tasti freccia |
| Ideale per | Scripting e controlli rapidi | Esplorazione manuale su server remoti |
| Ordinamento | Richiede il piping a sort | Integrato (per dimensione, nome, ecc.) |
| Eliminazione dei file | Comando rm comando | Integrato (premere d) |
Cancellazione delle cache dei pacchetti, dei log e dei duplicati
Tre aree rappresentano costantemente lo spazio più recuperabile: cache dei pacchetti, file di log e file di grandi dimensioni o duplicati.
Cache dei pacchetti e dipendenze orfane
Ogni installazione o aggiornamento lascia dei file di pacchetti nella cache. Col tempo, questi si accumulano silenziosamente. Puliscili in base alla tua distribuzione:
| Attività | Debian/Ubuntu (APT) | Fedora/RHEL (DNF) | Arch (Pacman) |
|---|---|---|---|
| Svuota la cache | sudo apt clean | sudo dnf clean all | sudo paccache -r |
| Rimuovi i file orfani | sudo apt autoremove | sudo dnf autoremove | pacman -Rs $(pacman -Qdtq) |
| Elimina i file di configurazione residui | sudo apt autoremove --purge | Gestito da autoremove | N/A |
Visualizza prima l'anteprima delle modifiche con sudo apt autoremove --dry-run. I vecchi kernel possono occupare 1,5 GB o più sui sistemi Ubuntu. Conserva sempre il kernel in esecuzione e un backup prima di rimuovere le versioni precedenti.
Se si utilizza Snap o Flatpak, anche questi accumulano revisioni e runtime:
sudo snap set system refresh.retain=2
flatpak uninstall --unusedFile di log in /var/log
I log sono la causa più comune di consumo silenzioso di spazio su disco. Individua prima i log di dimensioni eccessive:
du -xhd1 /var/log | sort -h
find /var/log -type f -size +100MPer i journal di systemd, usa lo strumento vacuum integrato invece di eliminare i file manualmente:
sudo journalctl --vacuum-size=500MPer impostare un limite permanente, modifica /etc/systemd/journald.conf:
SystemMaxUse=500M
MaxRetentionSec=14dayPer i file di log attivi ancora tenuti aperti da un servizio, non utilizzare rm. Lo spazio non verrà liberato finché il processo mantiene il descrittore di file. Utilizza invece il comando truncate:
sudo truncate -s 0 /var/log/syslogFile di grandi dimensioni e duplicati
Trova i file superiori a 500 MB in tutto il sistema:
sudo find / -type f -size +500M -exec ls -lh {} +Per i duplicati, rmlint utilizza confronti basati su hash per rilevare file duplicati, directory vuote e collegamenti simbolici non funzionanti. Esaminare attentamente l'output prima di rimuovere qualsiasi cosa, in particolare sui server in cui file identici possono svolgere ruoli diversi.
Ottimizzazione a livello di filesystem
Dopo aver ripulito i file, è possibile ricavare più spazio utilizzabile dallo stesso hardware ottimizzando il filesystem.
Riduzione dello spazio riservato ext4
Per impostazione predefinita, ext4 riserva il 5% del filesystem per la root. Su una partizione dati da 2 TB, ciò significa 100 GB inutilizzati. Su un server dedicato in cui la partizione dati non è il filesystem di root, è possibile ridurre tranquillamente questa percentuale:
sudo tune2fs -m 1 /dev/sdXnQuesto imposta la riserva all'1%, che è sufficiente per la maggior parte dei casi d'uso. Verifica la modifica con tune2fs -l /dev/sdXn.
Compressione trasparente di Btrfs
Btrfs supporta la compressione trasparente dei file, che ext4 e XFS non offrono. Montare con compress=zstd per comprimere automaticamente i dati in fase di scrittura. ZSTD offre un buon equilibrio tra velocità e rapporto di compressione. Per carichi di lavoro con file misti, compress-force=zstd può offrire un ulteriore risparmio del 10-20% comprimendo i file che l'euristica normalmente tralascierebbe.
Per comprimere i dati esistenti su un volume Btrfs:
btrfs filesystem defragment -czstd /path/to/dirFare attenzione a questa operazione su volumi che contengono snapshot o reflink. La deframmentazione interrompe le relazioni Copy-on-Write, il che può effettivamente aumentare l'utilizzo del disco.
Reflink per copie istantanee
Sia XFS che Btrfs supportano i reflink, che creano copie di file che condividono blocchi fisici fino a quando una copia non viene modificata. Ciò è utile per clonare immagini disco di VM o livelli di container senza raddoppiare il consumo di spazio di archiviazione:
cp --reflink=always source.img clone.imgThin provisioning LVM
Il thin provisioning LVM consente di allocare più spazio logico di quello fisicamente disponibile, consumando spazio su disco solo man mano che i dati vengono scritti. Ciò è utile quando si eseguono più VM o container che necessitano ciascuno di un proprio volume logico, ma che non li riempiono tutti contemporaneamente.
Per evitare che i pool thin si esauriscano, abilitare l'estensione automatica in /etc/lvm/lvm.conf impostando thin_pool_autoextend_threshold e thin_pool_autoextend_percent.
Automazione della manutenzione dello storage
Le pulizie manuali funzionano una volta sola. Quelle automatizzate mantengono i dischi in buono stato da ora fino al prossimo accesso. Utilizza systemd i timer cron , ove possibile. Registrano automaticamente l'output journalctl e Persistent=true recupera le esecuzioni perse dopo un riavvio.
| Strumento | Strumento | Frequenza |
|---|---|---|
| Rotazione dei log | logrotate | Giornaliera o settimanale |
| Aspirazione del registro | journalctl --vacuum-time | Settimanale |
| Pulizia della cache dei pacchetti | apt clean / dnf clean all | Mensile |
| Eliminazione dei file temporanei | systemd-tmpfiles | Giornaliero |
| Pulizia di Docker | docker system prune | Settimanale |
| Monitoraggio dell'utilizzo del disco | Script personalizzato + timer systemd | Ogni 15-30 min |
Docker merita un'attenzione particolare. I log dei container possono crescere senza alcun preavviso visibile. Limita la dimensione dei log a livello globale modificando /etc/docker/daemon.json. Impostare max-size e max-file sotto la log-opts chiave per impedire che i singoli container riempiano il disco.
Per un monitoraggio proattivo, imposta un sistema di avvisi a due livelli: un avviso all'80% di utilizzo del disco e un avviso critico al 90%. Registra l'utilizzo del disco ogni ora in modo da poter monitorare le tendenze di crescita e prevedere quando una partizione raggiungerà la capacità massima:
0 * * * * df --output=source,size,used,pcent >> /var/log/disk_usage.csvUn'ulteriore misura di sicurezza: montare /var, /tmpe /home su partizioni separate. Ciò impedisce che i log fuori controllo o i dati degli utenti consumino il filesystem di root e causino il crash dell'intero sistema.
Sfruttare al massimo ogni gigabyte
Con i prezzi dello storage in aumento e nessuna tregua prevista fino all'avvio della nuova produzione di NAND nel 2027, ottimizzare ciò che si ha a disposizione non è solo una buona pratica. Consente di risparmiare denaro reale. L'approccio è semplice:
- Verificate l'utilizzo del disco con
df,duencduprima di apportare qualsiasi modifica. - Svuotare le cache dei pacchetti, ruotare i log e rimuovere i duplicati per recuperare spazio immediatamente.
- Ottimizzate il vostro filesystem. Riducete i blocchi riservati di ext4, abilitate la compressione Btrfs o utilizzate il thin provisioning LVM per ottenere di più dallo stesso hardware.
- Automatizza la manutenzione con i timer di systemd in modo che i tuoi dischi rimangano puliti tra un controllo e l'altro.
- Monitorate le tendenze di utilizzo e impostate avvisi all'80% e al 90% per individuare i problemi in anticipo.
Se hai bisogno di un'infrastruttura server dedicata con storage NVMe ad alte prestazioni, i server dedicati di FDC sono fatti apposta per te.
Perché è importante avere un VPS potente e senza contatore
Avete bisogno di prestazioni affidabili e traffico illimitato? Un potente VPS senza contatore offre la velocità, la scalabilità e la larghezza di banda di cui avete bisogno, senza preoccuparvi dei limiti di utilizzo.
3 min di lettura - 9 maggio 2025
Come ottimizzare lo spazio di archiviazione su Linux
15 min di lettura - 22 maggio 2026

Avete domande o avete bisogno di una soluzione personalizzata?
Opzioni flessibili
Portata globale
Distribuzione immediata
Opzioni flessibili
Portata globale
Distribuzione immediata