¿Cómo determinar qué proceso está consumiendo todo el espacio disponible en el disco?

¿Cómo determinar qué proceso está consumiendo todo el espacio disponible en el disco?

De repente, todo el espacio disponible en el disco /ha desaparecido.

Si hago espacio en el disco (eliminando ~50 GB de cosas, por ejemplo), después de unos minutos vuelvo a tener 0 espacio disponible en el disco (según df).

Claramente, algún proceso está consumiendo espacio en el disco a un ritmo rápido, pero no puedo entender qué es.

Sin embargo, una cosa es segura: sea lo que sea, debe estar creando muchos archivos pequeños, porque no hay archivos de más de 10 GB en el disco, y todos los de más de 1 GB son mucho más antiguos que hoy.

¿Cómo puedo encontrar lo que está consumiendo espacio en el disco?


FWIW, solo dfve el problema, no du.

Por ejemplo, a continuación muestro varias "instantáneas" de los años 60 duy dftomadas. aparte. (Hice esto después de haber hecho algo de espacio en el disco). Observe cómo dula salida de ' permanece estable (en 495G), pero dfmuestra una cantidad cada vez menor de espacio disponible. (He seguido la recomendación dadaaquí. La OIA, /mnt/rootseñala /.)

# while true; do du -sh /mnt/root && df -h /mnt/root; sleep 60; done
495G    /mnt/root
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       880G  824G   12G  99% /mnt/root
495G    /mnt/root
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       880G  825G   11G  99% /mnt/root
495G    /mnt/root
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       880G  827G  8.9G  99% /mnt/root
495G    /mnt/root
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       880G  827G  8.1G 100% /mnt/root
495G    /mnt/root
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       880G  828G  7.5G 100% /mnt/root

Respuesta1

Se trata de archivos eliminados, por eso duno registra el espacio utilizado, pero dflo hace.

Los archivos eliminados sólo desaparecen después de que se detiene el proceso del propietario; permanecen en uso mientras eso no suceda.

Entonces, para encontrar el proceso culpable, te recomiendo hacer:

sudo lsof -nP | grep '(deleted)'

Luego por matar el proceso.

sudo kill -9 $(lsof | grep deleted | cut -d " " -f4)

Respuesta2

Podrías usariotoppara ver qué procesos están realizando la mayor cantidad de operaciones de escritura en disco.

Ejemplo:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]

información relacionada