web-dev-qa-db-fra.com

Pourquoi les commandes "df" et "du" indiquent-elles une utilisation différente du disque?

Je ne peux pas accéder au système Ubuntu sur mon ordinateur. Le message d'erreur suivant s'affiche: ", le système fonctionne en mode graphique faible " et j'ai essayé quelques commandes que j'avais recherchées sur Internet. .

J'ai découvert un problème semble qu'il n'y a pas d'espace disque disponible. J'ai utilisé les commandes "df" et "d" pour vérifier, les résultats sont les suivants:

du -j --max-depth=1
23G  ./home
3.3G ./usr 
...... 
28G

et

df -Th 
filesystem   Type   size    used   available   use%    mounted on 
/dev/sda5    ext4   68G     68G    0           100%    /

comment pourrais-je nettoyer le système pour obtenir plus d'espace disque?

25
user2068965

Vous savez probablement que vous pouvez supprimer un fichier qui est encore utilisé par une application et qui reste disponible pour cette application. C'est parce que le descripteur de fichier dans/proc/filesystem est maintenu ouvert.

Donc, s’il existe de tels descripteurs ouverts dans des fichiers déjà supprimés, l’espace occupé par ceux-ci est considéré comme utilisé par df (et df est correct), mais ils ne peuvent pas être pris en compte par du car ils ne sont plus des noms de fichiers qui leur sont associés.

Vous pouvez trouver tous les fichiers ouverts non liés mais tenus avec:

# lsof | grep '(deleted)'
48
Dmitry Alexandrov

Comment puis-je supprimer les liens? - Vikas Hardia 22 Août 14 à 5:46

Vous devez trouver le processus qui contient le descripteur de fichier. Utilisez la commande de Dmitry Alexandrov, là vous voyez le processus et pid. Dans notre cas, le "vieux" fichier journal du vernis était le tueur d’espace.

# lsof | grep '(deleted)'
[...]
varnishlo 13978       varnishlog    3w      REG              252,1 318448027646    5926973 /var/log/varnish/varnish.log.1 (deleted)
Apache2   16801         www-data    2w      REG              252,1        64550   13110120 /var/log/Apache2/error.log.1 (deleted)
[...]
# service varnishlog stop
[or if there is no service script]
# kill -11 13978 (the second number of the lsof command is the pid)
[or may be] 
# kill -9 13978

N'oubliez pas de redémarrer le service ou le processus s'il s'agit d'un démon ou d'un autre service sur votre ordinateur. Si vous le pouvez, redémarrez simplement l'ordinateur;)

14
Octeny

Ok, vérifions les pages de manuel:

df - rapporte l'utilisation de l'espace disque du système de fichiers

et

du - estimation utilisation de l'espace fichier

Ces deux outils étaient destinés à des propositions différentes. Alors que df indique l'utilisation du système de fichiers, du indique l'utilisation de l'espace fichier. du fonctionne à partir de fichiers tandis que df fonctionne au niveau du système de fichiers, en rapportant ce que le noyau dit avoir à sa disposition. Continuez à lire la page de manuel du supporte ceci:

Résumez l'utilisation du disque de chaque FICHIER, de manière récursive pour les répertoires.

il dit du fonctionne avec des fichiers.

df affiche la quantité d'espace disque disponible sur le système de fichiers contenant chaque argument de nom de fichier. Si aucun nom de fichier n'est donné, l'espace disponible sur tous les systèmes de fichiers actuellement montés est affiché.

ici dit que df ne se soucie pas des fichiers mais du système de fichiers lui-même.

9
Braiam

Simplement dit:

Vous avez exécuté du sans autorisations root. Il est donc impossible de vérifier l'espace disponible dans les dossiers /proc, /mnt, etc.

df indique le total des espaces utilisé et libre.

Ainsi, lorsque vous vérifiez le système de fichiers racine Linux, définissez le rapport du en tant que final.

2
Sekra Invos

rien de si déroutant: voici look: =

1) du == Utilisation du disque
Quelle est la quantité d'espace disque utilisée par ces fichiers?

2) df == disque libre
Combien d’espace disque disponible avons-nous?

Aussi pour le système fonctionne en mode graphique faible ' here '

0
Avani badheka
df

Résumer l'espace disque libre

Il affiche la quantité d'espace disque disponible.

du

Résumez l'utilisation du disque.

Il affiche la quantité d'espace disque utilisé.

0
Mitch

J'ai fait
Sudo du -hxa / | egrep '^[[:digit:]]{1,1}G[[:space:]]*'

Cela expliquait exactement le grand écart de 21 Go que je voyais!
Le fichier en question était/swap file if 21GB !!

0
user727981