J'ai un problème avec Ubuntu 12.04 LTS. C’est la deuxième fois que je rencontre ce problème depuis 3 semaines. La première fois est décrite dans cette question fermée sur StackOverflow . La version TL; DR est parvenue à utiliser tous les inodes d'un système 450G ext4 en compilant et en construisant la pile Android moins de 20 fois. .
Je pensais résoudre le problème en reformatant le disque en XFS afin que le stockage d'inodes puisse augmenter.
Ce matin, après avoir effectué une compilation pendant la nuit, il me reste moins de 1 Go d'espace libre. Il n'y a rien sur cette machine autre que ce qui est nécessaire pour construire Android. J'ai fait 5 compilations totales sur les sources de la plate-forme. La construction crée un tas de fichiers, puis je les supprime peu de temps après avec make clean
. Je ne suis pas vraiment moins de 1 Go, mais les outils le signalent de cette façon. J'ai supprimé un tas de fichiers temporaires et j'avais environ 40 Go "libérés". Quelques heures plus tard, au ralenti, je revenais à moins de 1 Go gratuitement.
L'exécution d'Ubuntu à partir d'un lecteur flash renvoie les éléments suivants pour la partition ...
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 468521456 468255460 265996 100% /media/f71c77eb-b4cc-
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda5 1691760 624214 1067546 37% /media/f71c77eb-b4cc-
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 447G 447G 260M 100% /media/f71c77eb-b4cc-
Voici la preuve que quelque chose ne va pas. Lorsque j'exécute du
(avec et sans --apparent-size) ou l'analyseur visuel d'utilisation du disque, je montre que je n'utilise en réalité qu'environ 35 Go environ. 98,7% de l'espace utilisé est dans /home/eric
, mais du
ne correspond pas à cela. La différence est entre /home/eric
et /home/eric/Android
J'ai lu les questions pertinentes ici et sur SO et elles suggèrent généralement qu'il s'agit de fichiers supprimés détenus par des processus ouverts. J'ai redémarré dans un lecteur flash pour exécuter ce test, il ne devrait donc pas s'agir de fichiers ouverts. FWIW,/tmp est vide.
Existe-t-il un outil que je peux installer sur un lecteur flash pour récupérer l'espace "perdu"? Je peux essayer de libérer de la mémoire sur le système et de l'exécuter là-bas, mais je suppose qu'il est préférable de le faire à partir d'un lecteur flash.
Devrais-je configurer ce système d'une manière différente? Je préférerais ne pas procéder à un autre nettoyage et à l’installation, mais j’ai besoin d’un système de construction durable Android.
SUIVI - J'ai dû installer l'installation la semaine dernière et réinstaller 12.04 pour que le travail soit effectué. Au fur et à mesure que Android construit de nouveau cette semaine, je vais surveiller de près l'utilisation du disque et donner des informations ici au fur et à mesure de mon apprentissage.
Merci
Sous Oracle Linux, cela se produit lorsque vous avez (beaucoup/gros) fichiers supprimés mais toujours ouverts par un processus en cours d'exécution. Puis l'arrêt des processus ou le redémarrage de la machine aide.
J'ai récemment rencontré ce problème et, dans mon cas, un fsck
devait être exécuté.
J'ai fait touch /forcefsck && reboot
et après quelques minutes, le serveur était de nouveau en ligne et tout à coup mes 6 Go manquants ont été libérés.
Avant d’aller trop loin, mettez le système en mode mono-utilisateur et effectuez un fsck COMPLET (je veux vraiment dire plein fsck -f /dev/sda5
) du système de fichiers et voyez ce qu’il montre. Vous pouvez trouver l’espace en tant que parties de zones à problèmes sur votre disque ou une incompatibilité entre ce qui est alloué et ce qui est présent sur le disque.
Nous pouvons faire un test, du
indique que vous avez 10 Go d’espace libre, alors que df
indique 300 Mo, pouvez-vous écrire un fichier (ou plusieurs fichiers) d’une taille de, disons, 2 Go? Si vous le pouvez, cela signifie que df est tout simplement faux (et qu’il n’ya aucun problème d’espace perdu). Sinon, du
est faux (ce qui sera intéressant).
Je n'ai pas trouvé la cause de ce problème, mais il est propre à Ubuntu 12.04.
Juste pour installer un nouveau serveur, j'ai commencé avec Ubuntu 12.04 et je me suis heurté à cela; du a montré environ 111 GiB utilisations, alors que df était d’environ 170 GiB.
Le démarrage à l'aide de systemrescuecd 3.3.0 et le contrôle a révélé une différence inférieure à 1 Gio.
Laissant la partition et le système de fichiers (il est ext4) inchangés, j'ai déplacé les répertoires ubuntu et installé Debian 7.0. Encore une fois, la différence entre du et df était <1 Gio.
Avec Ubuntu 10.04, sur la même partition et ext4 fs:
De df -m /
,
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda2 2814679 407164 2264538 16% /
et de du -mx
,
tail -1 /root/diskuse
406920 .
ce qui est assez proche.
L'image que vous avez publiée vous indique où l'espace est utilisé: /home/eric
. Il semble que vous ayez un fichier très volumineux occupant tout l’espace, voire un grand nombre de fichiers plus petits. Ouvrez votre répertoire personnel et assurez-vous d’afficher les fichiers cachés (Ctrl+H dans Nautilus) et triez par taille de fichier.
Cela est souvent causé par des fichiers dans un répertoire, sur lequel un système de fichiers différent est également monté. Un correctif typique consiste à démarrer avec un disque de secours ou en mode mono-utilisateur et à vider les répertoires après avoir vérifié qu'ils ne sont pas utilisés comme points de montage (cat /proc/mounts
ou df -h
).