Risposte:
Per quanto riguarda una versione più ottimizzata du
, non ne sono consapevole. Le cose che vengono in mente sono:
stat -c '%h'
) - 2.Di tutte queste, la quota e le opzioni di partizione dedicate sono probabilmente le più semplici ed efficienti.
Il problema è che 'du' deve enumerare ogni oggetto nel sotto-albero. Questa è un'operazione ad alta intensità di metadati e richiede un po 'di tempo per la maggior parte dei filesystem Linux. Alcuni file system, NTFS e NSS di Novell vengono in mente, hanno la capacità di tenere traccia delle dimensioni di directory come questa nei metadati, il che rende questa operazione molto più veloce. In genere, se il file system supporta quote di directory di qualche tipo, deve tenere traccia di questi dati internamente per l'applicazione, ogni modifica delle dimensioni viene replicata nell'albero delle directory nel punto quota (NTFS) o in ogni directory (NSS ) quando accade, quindi ottenere una dimensione dell'albero delle directory è molto veloce.
Sfortunatamente, non esiste un modo per accelerare la corsa, solo soluzioni alternative.
du -h --max-depth=1
Fornisce le dimensioni in formato KB / MB / GB umano dalla directory di lavoro corrente.
Con gli strumenti standard devi ottenere la dimensione di ogni file nella directory ogni volta che vuoi conoscere la dimensione totale. Un modo forse più efficace per farlo sarebbe quello di avere un "monitor delle dimensioni della directory", che tiene traccia delle dimensioni correnti della directory. Non esiste una cosa del genere (di cui io sia a conoscenza), ma potresti implementarne una inotify
. Forse non con bash (e inotify-tools
), ma probabilmente potresti usare python e pyinotify, per esempio.
se si desidera solo l'utilizzo del disco per il file system di root, quindi
df -h /
No. Potresti periodicamente fare un pip su un file di testo, in un cron job impostato per essere eseguito durante la notte, quindi non hai dati abbastanza attuali immediatamente disponibili?
Si noti che la misurazione dello spazio su disco utilizzato da una cartella contenente un numero elevato di file in Windows richiede allo stesso modo del tempo.
df -h farà il trucco
df -kh /
questo ti mostrerà la quantità di spazio su disco utilizzata e disponibile.
Forse
df -h
testo extra poiché una risposta breve e concisa non è sufficiente per serverfault per pensare che io sia umano.
Dovresti usare dnotify per calcolare l'utilizzo del disco se il filesystem non viene cambiato spesso.