Serveur Ubuntu: disque dur toujours plein

8

J'ai un vps de 50 Go

quand je cours df je reçois

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

Quand je lance du -h depuis / je reçois

...
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    .

J'ai également essayé de trouver des fichiers plus gros que 100 Mo pour essayer de trouver ce qui occupe mon espace avec 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

Je n'ai aucune idée de ce que je peux faire d'autre pour trouver mon problème.

Éditer:

Plus d'informations

df --inodes /

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

find / -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 du distributeur: Ubuntu Description: Ubuntu 10.04.4 LTS Version: 10.04 Nom de code: lucid

Krayons
la source
1
J'aimerais voir votre utilisation d'inode:df -i
Wesley
@WesleyDavid: ajouté au message d'origine.
Krayons
Je soupçonne que vous avez du -himprimé beaucoup d'informations, et vous en avez peut-être manqué une importante ... Essayez du -sm /* | sort -nd'avoir la liste (triée par taille) en Mo de /sous
e2-e4

Réponses:

11

Il y a généralement une certaine différence entre du et df mais ce n'est normalement pas aussi grand que vous le voyez.

  • du rapporte l'espace disque utilisé en lisant les informations de l'arborescence des répertoires, il est précis mais lent.
  • df signale l'espace disque utilisé par la lecture des métadonnées du système de fichiers, c'est rapide mais moins précis car il fonctionne avec des blocs.

La cause habituelle de ce que vous voyez est un fichier qui a été supprimé mais qui n'a pas encore été fermé par le processus qui y écrit.

Comme le fichier a été supprimé, du ne verra pas d'entrée de répertoire pour lui et ne pourra donc pas l'inclure dans son rapport.

Comme le fichier est toujours ouvert, les blocs qu'il utilise ne sont pas gratuits, donc df signalera qu'ils sont en cours d'utilisation.

Vous devriez être en mesure de retrouver le fichier à l'origine du problème avec

lsof +L1

Vérifiez la SIZE/OFFcolonne.

Une spécification du formulaire + L1 sélectionnera les fichiers ouverts qui ont été dissociés. Une spécification du formulaire + L1 sélectionnera les fichiers ouverts non liés sur le système de fichiers spécifié.

user9517
la source
Merci. Ajout du résultat de lsof + L1 au message d'ouverture. Ne semble pas que le problème soit là.
Krayons
@Krayons: Je chercherais alors à planifier un temps d'arrêt pour exécuter un fsck.
user9517
Cela avait corrigé le problème. Il devait y avoir quelque chose d'horriblement mal avec le système de fichiers.
Krayons