Come capire se il disco del tuo sito non può più scrivere
I blocchi liberi e i posti file liberi sul disco del tuo sito non stanno nello stesso rapporto. Il comando che li mostra dipende dal sistema operativo.
In questa guida (8)
Se il sito smette di salvare una sessione, un file caricato, una riga di log o un aggiornamento, la domanda è se il disco non può più scrivere. Il 3 novembre 2026 ho letto due pagine di df, la pagina della scrittura, la pagina dell'inode, e due pagine già online. Non dicono la stessa cosa. Non ho misurato un disco.

Le pagine già online
La pagina sul monitoring risponde a come capire se il sito sta ancora rispondendo a chi lo usa. Definisce la saturazione come quanto è pieno il servizio. Dice che molti sistemi peggiorano prima di arrivare al 100 per cento di utilizzo, e che un obiettivo di utilizzo è essenziale. L'esempio sul disco è che il disco della base dati si riempirà tra 4 ore. Quel minuto della finestra e quelle 4 ore sono esempi del capitolo, non una soglia per un sito. Non separa i blocchi dai posti file, e non descrive il comando. Non la riscrivo. Come capire se il tuo sito sta ancora rispondendo a chi lo usa.
La pagina su VPS o dedicato risponde a chi divide con te la macchina. Il disco, lì, è una delle risorse che l'hypervisor divide, insieme a CPU, memoria e rete. Più sotto nomina il tipo di disco, un tetto di operazioni sul disco se c'è, e l'attesa sul disco fra i segni del vicino rumoroso. Non è il rapporto dello spazio libero, e non è il numero di posti file. Non la riscrivo. Chi divide con te la macchina su cui sta il tuo sito.
Non ho riaperto la pagina su che cosa resta se si rompe un disco, né la pagina sulle copie. Un disco rotto e una copia da riaprire non sono la domanda di questa pagina.
La pagina GNU, con cinque date
La pagina df di man7 documenta la versione GNU. In calce: GNU coreutils 9.11, aprile 2026. Il colophon dice che la pagina è stata presa dal tarball coreutils-9.11 il 3 agosto 2026. La riga di resa HTML dice creata il 9 settembre 2026. Last-modified della risposta: 2 novembre 2026 alle 20:20:30 GMT. La risposta letta il 3 novembre 2026 porta la data 06:00:04 GMT. Sono cinque date. Il 3 agosto non è il 9 settembre, e nessuno dei due è il 2 novembre. Non li unisco. Indirizzo: https://man7.org/linux/man-pages/man1/df.1.html.
Mostra lo spazio disponibile sul file system che contiene ogni nome di file passato. Se non si passa un nome, mostra lo spazio su tutti i file system montati in quel momento. Nome passato, e nessun nome, sono due frasi. Questa versione non può mostrare lo spazio di un file system non montato, perché farlo richiederebbe una conoscenza non portabile della struttura. Un disco non montato non entra in questo rapporto.
Lo spazio è mostrato in blocchi da 1K, salvo che la variabile POSIXLY_CORRECT sia impostata: in quel caso si usano blocchi da 512 byte. Il predefinito da 1K e il caso da 512 sono due frasi. Non li unisco. In un'altra sezione la pagina dice che l'unità K è una potenza di 1024, e che KB è una potenza di 1000. Non copio l'esempio aritmetico di quella sezione.
Due opzioni di lettura umana restano distinte. Una stampa le dimensioni in potenze di 1024, e l'esempio è 1023M. L'altra le stampa in potenze di 1000, e l'esempio è 1,1G con il punto nel testo. 1024 e 1000 non sono la stessa scala. Gli esempi sono della pagina. Non sono la misura di un disco.
L'opzione corta degli inode, e la forma lunga, elencano le informazioni sugli inode al posto dell'uso dei blocchi. Al posto di, non insieme. I nomi di colonna dell'altra opzione, quella che sceglie i campi, tengono da una parte itotal, iused, iavail, ipcent, e dall'altra size, used, avail, pcent. Sono nomi diversi nella stessa lista. Non ne faccio un solo contatore. La pagina rimanda alla pagina info per quei campi. Non l'ho aperta.
La pagina POSIX del 2018
L'altra pagina è The Open Group Base Specifications Issue 7, edizione 2018, IEEE Std 1003.1-2017. Il copyright in testa va dal 2001 al 2018. Non ha last-modified. La risposta letta il 3 novembre 2026 porta la data 06:00:05 GMT, un secondo dopo la pagina GNU. La pagina avverte che esiste un'edizione più nuova. Non l'ho aperta. Non tratto il 2018 come se fosse l'ultima. Indirizzo: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/df.html.
Il nome è riportare lo spazio libero sul disco. Le cifre di spazio, nel formato predefinito non specificato, sono in unità da 512 byte, salvo l'opzione che chiede unità da 1024. Un'altra frase dice che l'uso delle unità da 512 è una pratica storica e non obbliga il file system stesso a essere fatto di blocchi da 512. L'unità del rapporto e la dimensione del blocco sul disco restano due frasi.
L'uscita deve contenere almeno i nomi dei file system e lo spazio disponibile. Una frase marcata XSI aggiunge: se non ci sono opzioni oltre a quella che include il totale allocato, anche il numero di posti file liberi, oppure inode. Posti file, oppure inode, è la congiunzione della pagina. Non la trasformo in due misure obbligate. Quando si chiede il formato portabile, l'intestazione descritta elenca file system, blocchi, usato, disponibile, capacità e punto di montaggio. Quell'intestazione non ha la colonna dei posti file. Con l'opzione delle unità da 1024 l'intestazione dice blocchi da 1024. Senza, dice blocchi da 512. Sono due intestazioni. Non le unisco.
Lo spazio libero è lo spazio con cui un utente senza privilegi può creare file nuovi, in unità da 512, o da 1024 se è chiesta quell'opzione. Quando questa cifra è minore o uguale a zero, non si possono creare file nuovi senza prima cancellarne altri, salvo un processo con i privilegi adatti. La cifra scritta può essere minore di zero. La percentuale può superare 100 se lo spazio libero è minore di zero. Minore o uguale a zero, cifra negativa, e percentuale sopra 100, sono tre frasi. Non le unisco. Il totale, in un'altra frase, dovrebbe includere lo spazio usato, lo spazio libero, più lo spazio riservato dal sistema che di solito non è disponibile a un utente. Il riservato sta nel totale. Non è la cifra libera.
L'esempio della pagina chiede il formato portatile sul file system di /usr, e dice che lo stesso esce se si passa /usr/src e quella cartella fa parte di /usr. È l'esempio della norma. Non è un sito.
I due df non sono lo stesso comando
Sulla pagina GNU il predefinito è il blocco da 1K, e 512 compare solo se POSIXLY_CORRECT è impostata. Sulla pagina POSIX del 2018 il predefinito è 512, e 1024 compare con l'opzione apposita. Quattro frasi. Non ne ricavo un'unità unica da leggere su qualunque macchina.
Sulla pagina GNU l'opzione degli inode sostituisce il rapporto dei blocchi. Sulla pagina POSIX i posti file liberi entrano nell'uscita quando non ci sono opzioni oltre a quella del totale. Sostituire, e aggiungere, non sono la stessa frase. Chiedere il formato portatile, sulla pagina POSIX, porta un'intestazione senza quei posti. Sulla pagina GNU l'opzione del formato POSIX è un'opzione sua. Non decido che le due opzioni stampino le stesse colonne: la pagina info non l'ho aperta, e l'edizione più nuova della norma nemmeno.
Una scrittura senza spazio, e una quota
La pagina write è man-pages 6.19, data in calce 8 febbraio 2026. Il tarball è stato preso il 9 settembre 2026. La resa HTML è del 9 settembre 2026. Il giorno del tarball e il giorno della resa coincidono. Non so se sono lo stesso gesto. Last-modified della risposta: 2 novembre 2026 alle 20:20:30 GMT, lo stesso secondo della pagina df e della pagina inode. Sono tre documenti. La risposta letta il 3 novembre 2026 porta la data 06:00:04 GMT. L'8 febbraio, il 9 settembre e il 2 novembre restano tre date. Indirizzo: https://man7.org/linux/man-pages/man2/write.2.html.
In standard la pagina scrive POSIX.1-2024. Nella storia scrive SVr4, 4.3BSD e POSIX.1-2001. Il 2001 e il 2024 non sono la stessa riga. Non li unisco.
Il numero di byte scritti può essere minore di quelli chiesti se, per esempio, non c'è spazio abbastanza sul supporto fisico. È un esempio di scrittura corta. In un'altra voce, ENOSPC significa che il dispositivo che contiene il file non ha spazio per i dati. Scrittura corta, e errore di nessun spazio, sono due voci. Non le unisco.
EDQUOT è un'altra voce: la quota di blocchi disco dell'utente, sul file system che contiene il file, è esaurita. Quota dell'utente, e dispositivo senza spazio, non sono la stessa voce. La pagina non dice che, a quota esaurita, il dispositivo abbia ancora spazio. Non lo aggiungo.
La pagina inode, stesso progetto man-pages 6.19, stessa data in calce 8 febbraio 2026, stesso tarball del 9 settembre 2026, stessa resa del 9 settembre 2026, stesso last-modified alle 20:20:30 GMT, risposta delle 06:00:04 GMT. È un quarto documento, non una copia della pagina write. Indirizzo: https://man7.org/linux/man-pages/man7/inode.7.html. Dice che ogni file ha un inode con i metadati del file, e che ogni file in un file system ha un numero di inode unico dentro quel file system. L'unicità non attraversa i file system. Non dice che cosa succede quando i posti sono finiti. Non invento la conseguenza. Il nome posti file, oppure inode, resta la frase della pagina POSIX.
Sessioni, upload, log, aggiornamenti
Queste quattro parole sono la domanda, non una frase delle pagine lette. Nessuna di quelle pagine nomina una sessione, un file caricato, una riga di log o un aggiornamento di pacchetti. Non invento il messaggio che il sito mostrerebbe.
Creare un file nuovo, sulla pagina POSIX, non è possibile per chi non ha i privilegi quando la cifra di spazio libero è minore o uguale a zero, senza prima cancellare altri file. Scrivere dati in un file già aperto, sulla pagina write, può riuscire in parte se il supporto non ha spazio abbastanza, oppure fallire con la voce di nessun spazio. Sono pagine diverse. Non so quale delle quattro cose del sito cada per prima, né se cada per i blocchi o per i posti file. Non fisso un ordine.
Le 4 ore della pagina sul monitoring restano l'esempio di quel capitolo. Il 100 per cento di quella pagina è la frase sulla saturazione, non la cifra zero della norma. Non li porto su questo disco.
Esempio ipotetico
bottega.example è un nome di scuola. Non l'ho aperto. Non so se sul suo disco mancano i blocchi o i posti file, né se un file system non montato resti fuori dal rapporto. prova.bottega.example è l'altro nome. Non l'ho aperto. Non so se a fermarsi per prima sarebbe una sessione, un file caricato, una riga di log o un aggiornamento.

Non assegno a questi nomi 4 ore, un 100 per cento, un blocco da 512, un blocco da 1K, 1023M, 1,1G, una cifra negativa, né una percentuale sopra 100. I numeri restano quelli delle pagine lette.
Che cosa questa pagina lascia stare
Non ho misurato un disco. Non ho aperto l'edizione più nuova della norma, la pagina info, né stat. Non ho scritto una soglia di allarme: le pagine lette non ne danno una per un sito. La copertina è nuova, perché la pagina è nuova.
Non ho riscritto la pagina sul monitoring, la pagina sulla macchina, la pagina sul primo byte, la pagina sugli spostamenti, la pagina sulle misure, la pagina su Server-Timing, la mappa di DNS, hosting e CDN, la pagina sulla connessione lunga, la pagina sul lavoro lungo, la pagina sulla copia di prova, la pagina sulla chiave, la pagina sulla compressione e la pagina sulla cartella. Il timer e il cron non sono questa pagina. Non l'ho scritta.
Fonti lette il 3 novembre 2026. df GNU, coreutils 9.11 aprile 2026, tarball del 3 agosto 2026, resa HTML del 9 settembre 2026, last-modified 2 novembre 2026 alle 20:20:30 GMT, risposta delle 06:00:04 GMT, https://man7.org/linux/man-pages/man1/df.1.html. df POSIX, Issue 7 edizione 2018, senza last-modified, risposta delle 06:00:05 GMT, edizione più nuova non aperta, https://pubs.opengroup.org/onlinepubs/9699919799/utilities/df.html. write, man-pages 6.19 dell'8 febbraio 2026, tarball e resa del 9 settembre 2026, last-modified 2 novembre 2026 alle 20:20:30 GMT, risposta delle 06:00:04 GMT, https://man7.org/linux/man-pages/man2/write.2.html. inode, stesse date di tarball, resa e last-modified, https://man7.org/linux/man-pages/man7/inode.7.html. Pagine già online, non riscritte: il monitoring, la macchina.


