Servidor Ubuntu: disco duro siempre lleno

8

Tengo 50GB vps

cuando corro df me sale

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             49982172  46580100    863064  99% /
none                    507212       172    507040   1% /dev
none                    511676         4    511672   1% /dev/shm
none                    511676        76    511600   1% /var/run
none                    511676         0    511676   0% /var/lock
none                    511676         0    511676   0% /lib/init/rw

Cuando corro du -h de / me sale

...
20K     ./tmp/vmware-root
4.0K    ./tmp/.webmin
4.0K    ./tmp/.X11-unix
4.0K    ./tmp/.ICE-unix
4.0K    ./tmp/hsperfdata_root
48K     ./tmp
7.7M    ./bin
3.8G    .

También he intentado averiguar sobre archivos de más de 100 MB para intentar encontrar lo que está ocupando mi espacio con find / -size + 100M -ls

4026531985    0 -r--------   1 root     root     140737486266368 Mar 23 08:55 /proc/kcore
find: `/proc/3969/task/3969/fd/5': No such file or directory
find: `/proc/3969/task/3969/fdinfo/5': No such file or directory
find: `/proc/3969/fd/5': No such file or directory
find: `/proc/3969/fdinfo/5': No such file or directory

No tengo idea de qué más puedo hacer para encontrar mi problema.

Editar:

Más información

df --inodes /

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1            3178496  178211 3000285    6% /

encontrar / -xdev -print | wc -l

178773

lsof + L1

COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NLINK    NODE NAME
miniserv.  1496  root  txt    REG    8,1    10416     0 2364381 /usr/bin/perl (deleted)
mysqld    12869 mysql    4u   REG    8,1        0     0  537495 /tmp/ibkCwnHJ (deleted)
mysqld    12869 mysql    5u   REG    8,1        0     0  537497 /tmp/ibFyPrrv (deleted)
mysqld    12869 mysql    6u   REG    8,1        0     0  537499 /tmp/ibdUnwbh (deleted)
mysqld    12869 mysql    7u   REG    8,1        0     0  537500 /tmp/iblHYOV2 (deleted)
mysqld    12869 mysql   11u   REG    8,1        0     0  537501 /tmp/ibUW9YGO (deleted)

ID de distribuidor: Ubuntu Descripción: Ubuntu 10.04.4 LTS Release: 10.04 Nombre en clave: lucid

Krayons
fuente
1
Me gustaría ver su uso de inodo:df -i
Wesley
@WesleyDavid: agregado a la publicación original.
Krayons
Sospecho que imprimiste du -hmucha información, y es posible que te hayas perdido una importante ... Intenta du -sm /* | sort -ntener la lista (ordenada por tamaño) en MB de /subdirectorios
e2-e4

Respuestas:

11

Por lo general, existe cierta discrepancia entre du y df, pero normalmente no es tan grande como está viendo.

  • du informa el espacio en disco que se usa al leer la información del árbol de directorios, es preciso pero lento.
  • df informa el espacio en disco que se usa al leer los metadatos del sistema de archivos, es rápido pero menos preciso ya que funciona con bloques.

La causa habitual de lo que está viendo es un archivo que ha sido eliminado pero que aún no ha sido cerrado por el proceso que le está escribiendo.

Como el archivo se ha eliminado, du no verá una entrada de directorio y, por lo tanto, no puede incluirlo en su informe.

Como el archivo aún está abierto, los bloques que usa no son gratuitos, por lo que df informará que están en uso.

Debería poder rastrear el archivo que está causando el problema con

lsof +L1

Revisa la SIZE/OFFcolumna.

Una especificación del formulario + L1 seleccionará los archivos abiertos que se han desvinculado. Una especificación del formulario + L1 seleccionará archivos abiertos no vinculados en el sistema de archivos especificado.

usuario9517
fuente
Gracias. Se agregó el resultado de lsof + L1 a la publicación de apertura. No parece que el problema esté ahí.
Krayons
@Krayons: entonces buscaría programar un tiempo de inactividad para ejecutar un fsck.
user9517
Eso lo solucionó. Debe haber algo horriblemente mal con el sistema de archivos.
Krayons