Sur un serveur virtualisé exécutant Ubuntu 10.04, df signale les éléments suivants:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.4G 7.0G 0 100% /
none 498M 160K 498M 1% /dev
none 500M 0 500M 0% /dev/shm
none 500M 92K 500M 1% /var/run
none 500M 0 500M 0% /var/lock
none 500M 0 500M 0% /lib/init/rw
/dev/sda3 917G 305G 566G 36% /home
Cela me laisse perplexe pour deux raisons: 1.) df dit que/dev/sda1, monté à /, a une capacité de 7,4 gigaoctets, dont seulement 7,0 gigaoctets sont utilisés, mais il indique/étant à 100% plein; et 2.) Je peux créer des fichiers sur/donc il reste clairement de l'espace.
Il est possible que le répertoire/www soit un lien symbolique vers/home/www, qui se trouve sur une partition différente (/ dev/sda3, montée dans/home).
Quelqu'un peut-il faire des suggestions sur ce qui pourrait se passer ici? Le serveur semble fonctionner sans problème, mais je veux m'assurer qu'il n'y a pas de problème avec la table de partition, les systèmes de fichiers ou autre chose qui pourrait entraîner une implosion (ou une explosion) plus tard.
Il est possible qu'un processus ait ouvert un fichier volumineux qui a depuis été supprimé. Vous devrez tuer ce processus pour libérer de l'espace. Vous pourrez peut-être identifier le processus en utilisant lsof. Sous Linux, les fichiers supprimés mais ouverts sont connus de lsof et marqués comme (supprimés) dans la sortie de lsof.
Vous pouvez vérifier cela avec Sudo lsof +L1
5% (par défaut) du système de fichiers est réservé aux cas où le système de fichiers se remplit pour éviter de graves problèmes. Votre système de fichiers est plein. Rien de catastrophique ne se produit à cause du tampon de 5% - root est autorisé à utiliser ce tampon de sécurité et, dans votre configuration, les utilisateurs non root n'ont aucune raison d'écrire dans ce système de fichiers.
Si vous avez des démons qui s'exécutent en tant qu'utilisateur non root mais qui ont besoin de gérer des fichiers dans ce système de fichiers, les choses vont s'arrêter. Un tel démon courant est named
. Un autre est ntpd
.
Vous n'avez peut-être plus d'inodes. Vérifiez l'utilisation des inodes avec cette commande:
df -i
La plupart des systèmes de fichiers Linux réservent 5% d'espace pour être utilisé uniquement par l'utilisateur root.
Vous pouvez le voir avec par exemple
dumpe2fs /dev/sda1 | grep -i reserved
Vous pouvez modifier le montant réservé en utilisant:
tune2fs -m 0 /dev/sda1
Dans la plupart des cas, le serveur continuera de fonctionner correctement - en supposant que tous les processus sont exécutés en tant que "root".
En plus des causes déjà suggérées, dans certains cas, il pourrait également être le suivant:
du -md 1
encore. Corrigez la situation en déplaçant le dossier caché vers un autre endroit ou montez sur un autre endroit.J'ai eu ce problème et j'ai été déconcerté par le fait que la suppression de divers fichiers volumineux n'a pas amélioré la situation (ne connaissait pas le tampon de 5%) de toute façon, en suivant quelques indices ici
De la racine parcouru les plus grands répertoires révélés en faisant de façon répétitive: -
du -sh */
jusqu'à ce que je vienne un répertoire pour les fichiers journaux du serveur Web qui avait des journaux absolument massifs
avec laquelle j'ai tronqué
:>lighttpd.error.log
df -h était soudainement utilisé à 48%!
df -h
arrondit les valeurs. Même les pourcentages sont arrondis. Omettez le -h
et vous voyez des différences plus fines.
Oh. Et ext3 et dérivés réservent un pourcentage (par défaut 5%) pour le système de fichiers pour exactement cette constellation problématique. Si votre système de fichiers racine est vraiment plein (0 octet restant), vous ne pouvez pas démarrer le système. Ainsi, la partie réservée empêche cela.
J'ai fait une grosse mise à jour de plusieurs bibliothèques et il y avait beaucoup de bibliothèques inutiles et de fichiers temporels, donc je libère de l'espace dans le dossier "/" en utilisant:
apt-get install -f
Sudo apt-get clean
Et vide tes poubelles
Si votre partition est btrfs, il peut y avoir un sous-volume prenant de l'espace. Un système de fichiers btrfs peut avoir plusieurs sous-volumes, dont un seul est monté. Vous pouvez utiliser btrfs subvolume list <dir>
pour répertorier tous les sous-volumes et btrfs subvolume delete <dir>/<subvolume>
pour en supprimer un. Assurez-vous de ne pas supprimer celui qui est monté par défaut.
vérifiez le/lost + found, j'avais un système (centos 7) et une partie du fichier dans le/lost + found a mangé tout l'espace