Server Ubuntu: disco rigido sempre pieno


8

Ho un vps da 50 GB

quando corro df ottengo

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

Quando corro du -h da / ottengo

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

Ho anche provato a scoprire file più grandi di 100 MB per provare a trovare quello che sta occupando il mio spazio 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

Non ho idea di cos'altro posso fare per trovare il mio problema.

Modificare:

Ulteriori informazioni

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 distributore: Ubuntu Descrizione: Ubuntu 10.04.4 LTS Rilascio: 10.04 Nome in codice: lucido


1
Mi piacerebbe vedere il tuo utilizzo dell'inode:df -i
Wesley

@WesleyDavid: aggiunto al post originale.
Krayons,

Ho il sospetto che tu abbia du -hstampato molte informazioni e potresti averne perso una importante ... Prova du -sm /* | sort -nad avere l'elenco (ordinato per dimensione) in MB di /sottodirectory
e2-e4

Risposte:


11

Di solito c'è una certa discrepanza tra du e df ma normalmente non è grande come stai vedendo.

  • du riporta lo spazio su disco utilizzato leggendo le informazioni dall'albero delle directory, è preciso ma lento.
  • df riporta lo spazio su disco utilizzato leggendo i metadati del filesystem, è veloce ma meno preciso in quanto funziona con i blocchi.

La solita causa di ciò che vedi è un file che è stato eliminato ma non è stato ancora chiuso dal processo che sta scrivendo.

Poiché il file è stato eliminato, du non vedrà una voce di directory per esso e quindi non può includerlo nel suo rapporto.

Poiché il file è ancora aperto, i blocchi che utilizza non sono gratuiti, quindi df segnalerà che sono in uso.

Dovresti essere in grado di rintracciare il file che causa il problema

lsof +L1

Controlla la SIZE/OFFcolonna

Una specifica del modulo + L1 selezionerà i file aperti che sono stati scollegati. Una specifica del modulo + L1 selezionerà i file aperti non collegati sul file system specificato.


Grazie. Aggiunto il risultato di lsof + L1 al post di apertura. Non sembra che il problema sia lì.
Krayons,

@Krayons: stavo cercando di programmare dei tempi di inattività per eseguire un fsck allora.
utente9517

Ciò l'aveva risolto. Deve essere stato qualcosa di orribilmente sbagliato nel filesystem.
Krayons,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.