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.