L'unità root Ubuntu sta esaurendo lo spazio, non riesco a trovare la fonte attraverso du o lsof


10

L'unità root su una macchina Ubuntu 15.10 è quasi esaurita, ma non riesco a trovare l'origine. L'unità che sta esaurendo lo spazio è sdb2313 M di 51 G disponibili. Il filesystem è ext4.

Ecco l' sudo du -h / --max-depth=1output:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           789M  9.4M  780M   2% /run
/dev/sdb2        51G   48G  313M 100% /
tmpfs           3.9G   12K  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sdb1       511M  3.4M  508M   1% /boot/efi
tmpfs           789M  8.0K  789M   1% /run/user/1000
/dev/sda1       239G  122M  239G   1% /media/DATA

Ma non riesco a trovare file di grandi dimensioni. L'utilizzo totale su /sembra essere solo di 3,4 G. Ecco l'output di sudo du -h / --max-depth=1:

4.0K    /mnt
188K    /tmp
406M    /home
339M    /var
8.1M    /etc
361M    /lib
du: cannot access ‘/proc/7626/task/7626/fd/4’: No such file or directory
du: cannot access ‘/proc/7626/task/7626/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/7626/fd/3’: No such file or directory
du: cannot access ‘/proc/7626/fdinfo/3’: No such file or directory
0    /proc
13M    /bin
du: cannot access ‘/run/user/1000/gvfs’: Permission denied
9.4M    /run
1.6M    /root
4.0K    /lib64
16K    /lost+found
0    /sys
1.1M    /media
12K    /dev
222M    /opt
2.0G    /usr
62M    /boot
9.5M    /sbin
4.0K    /cdrom
8.0K    /srv
3.4G    /

Ho trovato una domanda simile qui: Spazio su disco insufficiente, qual è la fonte?

In tal caso, sembra che il problema sia stato causato da un registro eliminato che in qualche modo non è stato chiuso da un processo in esecuzione e che il modo per trovarlo era quello di eseguirlo sudo lsof | grep deleted. Nel mio caso, l'output è

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.

Inoltre, il problema persiste dopo il riavvio del sistema, quindi è improbabile che questa sia la causa.

Un'altra soluzione suggerita è smontare /var/lib/ureadahead/debugfs, ma sono titubante nel farlo.

Cos'altro può essere sbagliato?


fare un riavvio. ci sono alcuni file cancellati ma bloccati.
Ipor Sircer,

Ci ho provato, ma non è cambiato nulla.
biggvsdiccvs,

1
Verificare la presenza di errori nel file system e aggiornare a una versione di Ubuntu supportata.
Michael Hampton,

6
basta eseguire "du -sh *" quando ci si trova nella cartella principale. Non usare --max-depth flag
Orphans

1
@Orphans sembra che non ho visto l' *"
aggomitolato

Risposte:


21

Bene, è solo una supposizione, ma potrebbe funzionare: penso che l'utente una volta si dimentichi di montare /dev/sda1come /media/DATAe tutti i dati sono stati scritti /dev/sdb2invece di /dev/sda1.

Per verificarlo, per favore, smonta /media/DATAe controlla i file e le cartelle in questo percorso.


Grazie, ecco cos'era! Tranne che penso che potrebbe essere stata una cattiva connessione al disco piuttosto che chiunque si dimentichi di montare qualcosa. L'intera installazione non è affidabile e non sono sicuro di come sia montata l'unità /media/DATA- non è presente /etc/fstab.
biggvsdiccvs,

Se non si desidera smontare il filesystem (ad esempio, se non si desidera arrestare i processi che lo utilizzano), è possibile utilizzare un mount bind per vedere (ed eliminare) i file nascosti dal mount.
Johnny,

7

Uso regolarmente 'ncdu' per questo, è abbastanza piccolo da farlo installare.

sudo apt-get install ncdu

Assicurati di eseguirlo come root o tramite sudo:

sudo ncdu /

1
In questo caso non avrebbe aiutato.
Gerald Schneider, l'

2

Quando vuoi sapere dove viene utilizzato lo spazio in un particolare filesystem, puoi utilizzare questo comando per trovare le 20 directory più grandi, che possono aiutarti a individuare dove viene utilizzato più spazio,

du -m / |sort -n |tail -20

Ma il filesystem di root è più difficile, perché tutti i filesystem sono montati su root. Ma l'argomento -x (--one-file-system) riporterà solo il filesystem desiderato,

du -m -x / |sort -n |tail -20

1
df -h *.* 

Potrebbe aiutare.

Attraversa le directory e riassume i byte utilizzati.

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.