Pourquoi df et du affichent-ils une sortie différente?

8

Lorsque j'exécute la commande, df -h /tmpil indique que l'utilisation du disque est de 100% , mais lorsqu'il essaie, du -sh /tmpil indique que l'utilisation du disque est de 2% .

Je veux savoir pourquoi ces commandes affichent une sortie différente, comment ces deux commandes fonctionnent et quelle est la solution à ce problème.

Contexte: /tmp est installé sur son propre système de fichiers. J'utilise l'édition du serveur Ubuntu 12.04 sur mon compte VPS. En raison de ce problème, l'utilisation de /tmp100% selon dfcertains programmes se plaint de l'espace libre dans /tmp.

Nischay
la source

Réponses:

10

du signale l'espace libre en scannant les inodes accessibles et en calculant leur taille.

Si un fichier est créé, ouvert et supprimé plus tard alors qu'il est encore ouvert, le programme qui l'a ouvert continuera d'avoir accès au fichier, et des écritures et des lectures peuvent être effectuées à cet emplacement mémoire sur le disque. dune tient pas compte de ces fichiers ouverts alors que le dffait.

Un redémarrage simple devrait vider / tmp et résoudre votre problème.

Une alternative serait d'analyser les fichiers ouverts et de redémarrer ou de tuer le processus qui n'a pas libéré les fichiers supprimés.

Mahesh
la source
1

Certains fichiers sur le système de fichiers racine peuvent être cachés derrière un point de montage. Les fichiers peuvent être créés sous le point de montage lorsque le périphérique correspondant n'est pas monté et lorsque le périphérique est à nouveau monté, les fichiers ne sont pas comptés par la commande du. Problème très probable, quand il y a une grande différence entre les résultats du et df.

pseudo
la source
Bingo. C'était la cause pour moi.
jdhildeb
-1

Assurez-vous que vous sudoexécutez du. Par exemple, si vous exécutez du -hs /*, vous ne verrez pas l'utilisation réelle du disque sauf si vous en ajoutez sudo.

raimohanska
la source