Quand j'ai essayé de scp certains fichiers sur une machine centos, j'obtiens le message d'erreur "Il ne reste plus d'espace sur le périphérique"
J'ai essayé
[root@...]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol01 18G 18G 0 100% /
Et quand je le fais
du -sh /
-> il ne donne que 5G
[... ~]$ df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol01
4685824 209516 4476308 5% /
semble que le système de fichiers est plein. Comment puis-je trouver lequel prend ces beaucoup de taille?
Une telle différence entre la sortie de du -sh
et df -h
peut se produire si un fichier volumineux a été supprimé, mais est toujours ouvert par un processus. Vérifiez avec la commande lsof | grep deleted
pour voir quels processus ont ouvert les descripteurs aux fichiers supprimés. Vous pouvez redémarrer le processus et l'espace sera libéré.
Peut-être que vous êtes à court d'inodes. Essayez df -i
2591792 136322 2455470 6% /home
/dev/sdb1 1887488 1887488 0 100% /data
Disque utilisé 6% mais la table d'inodes est pleine.
Pour lister les processus contenant des fichiers supprimés d'un système Linux qui a nolsof
, voici mon astuce:
pushd /proc ; for i in [1-9]* ; do ls -l $i/fd | grep "(deleted)" && (echo -n "used by: " ; ps -p $i | grep -v PID ; echo ) ; done ; popd
Vous pouvez exécuter les commandes suivantes
lsof/| grep supprimé
tuer les identifiants de processus, ce qui libère de l'espace disque.