Perché i risultati di du e quota non corrispondono?


8

Ho superato la mia quota del disco su un sistema a cui non ho accesso come root. Ho provato a rimuovere i vecchi file ma sono ancora finito. Ho provato a correre duper trovare dove sto usando tutto il mio spazio, ma mi dice che sto usando molto poco.

Risultati da quota

   /home/1234$ quota -s
   Disk quotas for user 1234 (uid 1234): 
        Filesystem   space   quota   limit   grace   files   quota   limit   grace
       cslab:/home   4519M*  4096M   5120M   09:47    6155       0       0 

A partire dal du

   /home/1234$ du -mad 1
   ...
   936     total

Non capisco perché quotadice che sto usando 4,5 GB mentre duconta solo 0 GB. Ho anche controllato i file in mio possesso /tmpe c'erano 50 MB di file lì. Dove potrebbero essere gli altri 3,5 GB di file? È possibile che il sistema di quote sia sbagliato e debba essere ripristinato?


Risposte:


2

Credo che ci possano essere alcuni file ancora aperti da alcuni processi. Puoi provare a elencarli usando,

lsof | grep username | grep deleted

Una versione migliore sarebbe usare,

lsof +L1 | grep username

Tuttavia, a volte potrebbe esserci una discrepanza nell'output tra due quotache è spiegato in questo collegamento . Estratto dal link,

In Unix, i comandi du e quota possono riportare valori diversi. Il motivo di questa discrepanza è che il processo che attraversa il file system, controlla le quote e aggiorna le tabelle di utilizzo viene eseguito solo in orari specifici. Pertanto, ci saranno periodi tra i controlli delle quote in cui il comando quota -v riporterà un utilizzo errato del disco. Utilizzare il comando du per informazioni più precise sulla dimensione dei file.


Ho provato questo, ma non ci sono file eliminati aperti.
Brandon Clements,

@BrandonClements, questo link è utile?
Ramesh,

Il link è stato utile, non ho ritenuto che la quota fosse aggiornata periodicamente. Dovrò aspettare e vedere se questo è davvero il mio problema, ma penso che lo sia. Potresti spostare il link e una breve descrizione nella tua risposta.
Brandon Clements,

@BrandonClements, aggiornato. Fammi sapere se hai bisogno di maggiori informazioni!
Ramesh,

Sembra che si sia risolto da un giorno all'altro. Per gli altri che leggono questa risposta noterei che l'eliminazione di piccoli file sembra avere un effetto immediato sulla mia quota, quindi non ero sicuro che fosse così. Sembra essere così.
Brandon Clements,

2

quota funziona interrogando il filesystem per i blocchi effettivamente occupati dai file.

du funziona analizzando ricorsivamente le directory per i tuoi file.

I due metodi potrebbero produrre risultati diversi. Ad esempio, quando si "elimina" un file, non è più visibile quando si elenca la directory. Tuttavia, i blocchi sul disco non vengono effettivamente liberati fino alla chiusura dell'ultimo filehandle su di esso. In tal caso, il file è invisibile du, ma conta comunque contro la tua quota.

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.