J'ai un serveur Ubuntu qui manque d'espace disque (36 Go sur 37 Go). J'ai utilisé plusieurs méthodes pour vérifier l'utilisation du disque, mais le résultat semble assez vague pour moi.
J'ai utilisé les commandes suivantes pour la vérification, et le résultat est le suivant:
$ du -sh /*
6.2M /bin
4.0K /boot
20K /dev
47M /etc
2.1G /home
72K /include
27M /lib
0 /lib64
4.0K /media
4.0K /mnt
546M /opt
0 /proc
287M /root
5.2M /sbin
4.0K /selinux
4.0K /srv
0 /sys
59M /tmp
2.7G /usr
1.7G /var
Aucun d'entre eux ne semble être proche de 36 Go, alors je vérifie comme ceci:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 38G 35G 835M 98% /
udev 10M 20K 10M 1% /dev
none 500M 16K 500M 1% /dev/shm
none 500M 68K 500M 1% /var/run
none 500M 0 500M 0% /var/lock
Cependant, je n'ai pas pu déterminer quel répertoire utilisait la plus grande partie de l'espace disque. Quelqu'un peut-il me donner un indice sur la façon de vérifier? Merci.
linux
disk-space
Shang Wang
la source
la source
du
sortie: Vous exécutez cette commande en tant queroot
, n'est-ce pas?!Réponses:
Je ne pense pas qu'un "outil de visualisation d'espace disque" puisse vous aider dans ce cas: l'espace occupé et visible par ces outils est identique à celui visible
du
, seuls ces outils le font plus en détail. Mais l'outil ne signalerait toujours que les 8-10 Go que vous savez déjà utilisés, et non le lieu où se trouvent ces vingt gigaoctets supplémentaires qui sont "manquants en action".Une explication possible d'un espace "en train de disparaître" de telles proportions est qu'il se trouve dans un (ou plusieurs) fichier (s) supprimé (s ) .
Si vous ouvrez un fichier sous Unix et que, même s'il est toujours ouvert, vous le supprimez (il le dissocie), il existera toujours, mais il ne sera visible que par le processus qui conserve son descripteur de fichier. le descripteur.
C'est un excellent moyen de gérer les fichiers temporaires.
Malheureusement, si le fichier temporaire fuit et que des données y sont ajoutées en permanence, sans jamais fermer ni recréer le fichier, beaucoup d’espace disque risque de "disparaître".
En tant que root, essayez:
Les noms de fichier et les ID de processus vous indiqueront quels processus conservent de l’espace "non lié".
Si vous pouvez le faire, bien sûr, un redémarrage aura le même effet plus rapidement. Et certains processus sont tellement imbriqués dans le système qu'il est préférable de les redémarrer plutôt que de les arrêter et de gérer tous les autres processus et services dépendants .
Par exemple, sur ma machine, j'ai environ 25 fichiers de ce type, et celui-ci
Je sais que, parfois, la taille varie de plusieurs mégaoctets. Fonctionnement
peut libérer de zéro à 100 millions d’espace en fonction de sa durée de fonctionnement et de la quantité de ressources que j’ai utilisée
vmplayer
.Automatiser le chèque
Un moyen de vérifier quels fichiers sont très volumineux serait de vérifier leur taille: la plupart des fichiers non liés ne contiennent que quelques octets.
Cette méthode utilise
wc
, ce qui est très inefficace; probablement, ouvrir le fichier, chercherSEEK_END
et retourner la valeur deftell()
serait beaucoup, beaucoup plus rapide (surtout sur les gros fichiers). Mais il faudrait compiler un petit utilitaire pour le faire.Cela utilise un moyen (espérons-le) portable de lister les fichiers virtuels de tous les fichiers supprimés et de les lire
wc
. Ensuite, pour chaque fichier, lit le lien symbolique. Les fichiers de longueur nulle sont ignorés pour éviter l'encombrement.Sur mon système fraîchement démarré, cela me donne
Je sais donc qu’il
nscd
s’appuie sur 400 Ko d’espace invisible (cela ne change pas si je redémarrenscd
; il s’agit donc probablement d’une zone de travail qui ne s’agrandit pas… beaucoup. Rien ne m’empêche de suivre le processus, bien que).Il serait également facile de sauvegarder le code ci-dessus dans un petit utilitaire et de l'exécuter
cron
, en supprimant toutes les valeurs inférieures à (par exemple) 500 Mo, mais l'envoi d'un courrier électronique à l'administrateur devrait éventuellement faire apparaître quelque chose.la source
Vous pouvez essayer un outil représentant graphiquement tous les différents fichiers et dossiers de votre système et les dimensionner en fonction de leur utilisation du disque. Un de ces outils est 'xdiskusage'. Voir ce lien pour plus.
la source
Il existe de nombreuses façons de le faire sous Linux. Découvrez les réponses suivantes:
Comment comprendre ce qui prend de la place?
Ligne de commande alternative à windirstat
la source
Utilisez l' analyseur d' utilisation du disque . Il affichera graphiquement votre utilisation de la mémoire et vous pourrez aller directement là où vous avez perdu la mémoire. Excellent outil.
Remarque: pour installer, tapez
sudo apt-get install baobab
dans le terminal.Voici un lien avec plus d'informations concernant votre question: MakeUseOf - Analyser l'utilisation du disque sous Linux
la source