web-dev-qa-db-fra.com

le disque est plein, mais ne peut pas trouver de gros fichiers ou dossiers

Le serveur Ubuntu me montre que j'utilise presque tous les disques:

Usage of /:   95.5% of 118.12GB

Et j'essaie de trouver de gros dossiers et fichiers, lancez ncdu:

ncdu 1.8 ~ Use the arrow keys to navigate, press ? for help                                                                                                                                                 
--- / ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    5.5GiB [##########] /root                                                                                                                                                                               
    2.3GiB [####      ] /var
  628.6MiB [#         ] /usr
  209.9MiB [          ] /lib
   28.2MiB [          ] /boot
    8.6MiB [          ] /bin
    7.7MiB [          ] /sbin
    6.6MiB [          ] /etc
  208.0KiB [          ] /run
  112.0KiB [          ] /tmp
   48.0KiB [          ] /opt
e  16.0KiB [          ] /lost+found
    8.0KiB [          ] /dev
    8.0KiB [          ] /media
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
e   4.0KiB [          ] /mnt
e   4.0KiB [          ] /home
    0.0  B [          ] /proc
    0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz

Selon ncdu j'utilise environ 10 GiB sur 128 GiB - il s'agit de 10 %. Contradiction.

Comment nettoyer mon ubutntu server sans redémarrer?

Je pensais que ncdu mentait et utilisais une autre application pour trouver de gros fichiers et dossiers. Tous affichent le même résultat que ncdu.

Et la commande df -h indique que le disque est plein.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda       119G  113G     0 100% /
udev            2.0G  8.0K  2.0G   1% /dev
tmpfs           788M  212K  788M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm

Mise à jour

Sudo du -sch /* result:

/# Sudo du -sch /*
8.7M    /bin
29M /boot
8.0K    /dev
6.6M    /etc
4.0K    /home
0   /initrd.img
210M    /lib
4.0K    /lib64
16K /lost+found
8.0K    /media
4.0K    /mnt
48K /opt
du: cannot access `/proc/4470/task/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/task/4470/fdinfo/4': No such file or directory
du: cannot access `/proc/4470/fd/4': No such file or directory
du: cannot access `/proc/4470/fdinfo/4': No such file or directory
0   /proc
5.0G    /root
212K    /run
7.8M    /sbin
4.0K    /selinux
4.0K    /srv
0   /sys
112K    /tmp
629M    /usr
2.3G    /var
0   /vmlinuz
8.1G    total

8.1G total comme d'habitude. Mais je vois des lignes cannot access, peut-être un problème à cause d’elles.

Ensuite, j'ai vérifié le plus gros dossier de /. C'est /root:

/# Sudo du -sch /root/*
96K /root/Downloads
2.5G    /root/Dropbox
36K /root/Nohup.out
4.0K    /root/npm-debug.log
4.0K    /root/readonly
980K    /root/redis-2.6.16.tar.gz
228M    /root/tmp
2.7G    total
20
Maxim Yefremov

Je courais dans le même problème sur nos machines de laboratoire et en utilisant cette commande

du -sch .[!.]* * |sort -h

J'ai été en mesure de trouver des fichiers cachés, comme dans les corbeilles des utilisateurs, qu'ils n'avaient pas encore supprimées.

Crédit à ici où j'ai trouvé cette réponse à l'origine.

13
Matt G.

Recherchez les fichiers supprimés qui sont toujours maintenus ouverts par un processus:
Sudo lsof | grep deleted | less

Cela montrera le pid et le descripteur de fichier. J'ai eu ce problème exact sur un serveur, rien dans ncdu mais le disque se remplissant. Il s’est avéré que c’était un processus nocturne qui déplaçait des fichiers vers un partage samba monté et parfois ne fermait pas correctement le descripteur de fichier, semble-t-il.

Si vous trouvez des fichiers supprimés et souhaitez les nettoyer, un redémarrage est probablement plus facile si cela est acceptable. Ou vous pouvez essayer de tuer le processus. Ou, si vous êtes sûr qu'ils ne sont pas utilisés, vous pouvez les supprimer manuellement, avec quelque chose comme ceci:
> /proc/14487/fd/12

4
Alric

La commande suivante affiche l'utilisation du disque pour le répertoire/home avec --max-depth = 1

user@linux:~$ Sudo du -h -d 1 /
4
Kamchybek Jusupov

Assurez-vous de vérifier vos supports de disque. Aucune des solutions que j'ai vues ici ne peut identifier l'espace occupé par un dossier sur lequel un montage est placé.

2
Rich Remer

Nous avons eu le même problème et il s’est avéré que ce sont des images fixes, stockées sous var/lib/docker

ncdu ne les répertorie pas car ils ne sont pas visibles par les utilisateurs. même exécuter ncdu sous Sudo n'aide pas.

Cette commande purge toutes les images existantes du menu fixe ...

docker rmi $(docker images -a -q)

1
Baldy