Dopo aver eliminato un file di grandi dimensioni, quanto tempo impiega `df` per ritirare la modifica?


12

Ho eliminato un file di registro da 2,3 GB sul mio server Ubuntu e dfnon sembra rilevare la modifica. In genere c'è un ritardo prima che dfpossa rilevare che un file di grandi dimensioni è stato eliminato?

Risposte:


20

Sembra che il file sia ancora aperto da qualche processo. È necessario riavviare quel servizio per liberare lo spazio su disco.


1
Particolarmente probabile che sia vero per i file di registro. Molti programmi aprono il proprio file log all'avvio e non li chiudono fino all'uscita.
Mattdm,

1
E puoi scoprire se è ancora in uso e da chi utilizza lsof
Joris l'

Ottima domanda e ottima risposta. Mi chiedo questo da un po 'di tempo ormai. Inoltre, potresti essere in grado di farlo chiudere l'handle del file inviandogli un SIGHUP. Ad esempio, se il processo 12345 ha un file "eliminato" aperto, è sudo kill -HUP 12345possibile che quel processo lo chiuda. (Dipende, ovviamente, da come quel processo gestisce un segnale SIGHUP. Ma molti file orientati al demone chiuderanno e riapriranno gli handle di file quando ricevono un SIGHUP.)
Mark E. Haase,

Pensavo che non potessimo cancellare i file aperti!
Ashish Karpe,

1
@AshishKarpe No, puoi eliminare un file aperto, ma il processo con esso aperto manterrà il contenuto del file sul disco. Il file è ora invisibile ad altri processi, a causa della mancanza di riferimenti a qualsiasi nome file esistente, ma il processo che lo aveva aperto può ancora leggerlo e scriverlo. Una volta che il processo chiude il file, il contenuto verrà eliminato, recuperando lo spazio su disco.
Jonathan Hartley,

2

Se il filesystem fosse esaurito, potresti essere in esecuzione nello spazio riservato sul filesystem. I filesystem ext2 / 3/4 hanno dello spazio riservato riservato a root. Per impostazione predefinita, questo è del 5%. Quindi, se era pieno e 2,3 GB è inferiore al 5% dello spazio sull'unità, il file system sembrerà comunque pieno.

In questa situazione hai due scelte. Per continuare a liberare spazio al punto da disporre di spazio libero utilizzabile o modificare la quantità di spazio riservato dal filesystem. Per modificare la quantità di spazio riservato utilizzare la tune2fs -m 0 /dev/sda1sostituzione dello 0 con la percentuale di spazio riservato che si desidera avere e / dev / sda1 con il dispositivo appropriato.

Vedi la risposta accettata a questa domanda per maggiori dettagli.


0

Non molto È molto probabile che il file venga semplicemente utilizzato. Non ci sarà rilascio di spazio su disco fino a quando non terminerai i processi corrispondenti.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.