¿Por qué los resultados du y quota no coinciden?

8

He excedido mi cuota de disco en un sistema al que no tengo acceso de root. Traté de eliminar archivos antiguos pero todavía he terminado. Traté de correr dupara encontrar dónde estoy usando todo mi espacio, pero informa que estoy usando muy poco.

Resultados de 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 

Desde du

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

No entiendo por qué quotadice que estoy usando 4.5GB mientras dusolo cuenta .9GB. También revisé los archivos que poseo /tmpy había 50 MB de archivos allí. ¿Dónde podrían estar los otros 3.5GB de archivos? ¿Es posible que el sistema de cuotas sea incorrecto y necesite restablecerse?

Brandon Clements
fuente
Compruebe si ¿Por qué hay tantas formas diferentes de medir el uso del disco? ayuda ¿Esto es sobre NFS? Puede haber algo de almacenamiento en caché.
Gilles 'SO- deja de ser malvado'

Respuestas:

2

Creo que puede haber algunos archivos aún abiertos por algunos procesos. Puedes intentar enumerarlos usando,

lsof | grep username | grep deleted

Una versión mejor sería usar,

lsof +L1 | grep username

Sin embargo, a veces puede haber discrepancias en la salida entre duy quotaque se explica en este enlace . Extracto del enlace,

En Unix, los comandos du y quota pueden informar valores diferentes. La razón de esta discrepancia es que el proceso que pasa por el sistema de archivos, verifica las cuotas y actualiza las tablas de uso solo se ejecuta en momentos específicos. Por lo tanto, habrá períodos entre las comprobaciones de cuota en las que el comando quota -v informará el uso incorrecto del disco. Use el comando du para obtener la información más precisa sobre el tamaño de sus archivos.

Ramesh
fuente
He intentado esto pero no hay archivos eliminados abiertos.
Brandon Clements
@BrandonClements, ¿es útil este enlace?
Ramesh
El enlace fue útil, no consideré que la cuota solo se actualizara periódicamente. Tendré que esperar y ver si este es realmente mi problema, pero creo que lo es. ¿Podría mover el enlace y una breve descripción a su respuesta?
Brandon Clements
@BrandonClements, actualizado. ¡Déjeme saber si usted necesita más información!
Ramesh
Parece que se arregló de la noche a la mañana. Para otros que leyeron esta respuesta, me gustaría señalar que eliminar archivos pequeños parecía tener un efecto inmediato en mi cuota, por lo que no estaba seguro de que fuera así. Parece ser así.
Brandon Clements
2

quota funciona consultando el sistema de archivos para los bloques realmente ocupados por sus archivos.

du funciona escaneando directorios de forma recursiva para sus archivos.

Los dos métodos podrían arrojar resultados diferentes. Por ejemplo, cuando "borra" un archivo, ya no está visible al enumerar el directorio. Sin embargo, los bloques en el disco no se liberan realmente hasta que se cierra el último identificador de archivo. En ese caso, el archivo es invisible du, pero aún cuenta para su cuota.

200_success
fuente