Utilisation du disque Linux

J'essaie de savoir quels dossiers occupent / partition. Je vois que beaucoup d'espace disque va au directory de jenkins

sudo du -sh /home/jenkins 289G /home/jenkins 

Quand j'examine le directory de jenkins, j'obtiens le plus gros dossier:

 sudo du -sh /home/jenkins/* 137G /home/jenkins/jobs 

Et le rest des dossiers sont relativement petits, des dizaines de K / M … Au total, il y a 50 dossiers sous / home / jenkins.

Comment puis-je find qui "mange" l'espace?

Merci

La différence entre: sudo du -sh /home/jenkins et sudo du -sh /home/jenkins/* est que dans presque tous les shells (avec les réglages par défaut), * n'inclut pas les files ou directorys cachés. Caché signifie que les noms commencent par un point (par exemple, s'il y a un /home/jenkins/.temp/ , qui ne serait pas inclus dans le second du ).

Donc, il semblerait que vous avez environ 289-137 = 152 GiB de files cachés. La façon la plus simple de savoir où ils se trouvent est quelque chose comme ceci:

 sudo du -m /home/jenkins | sort -nr | less 

En enlevant les -s le du vous montrer les sous-directorys tout ce qui est dedans, qui sonne comme ce que vous voulez. Cela inclura ceux cachés. Si cela ne le trouve toujours pas, ajoutez un -a :

 sudo du -am /home/jenkins | sort -nr | less 

qui affichera également des files individuels, au cas où vous auriez quelques très gros files cachés. Cela prendra probablement un peu plus de time à s'exécuter (l'ajout de files augmente souvent considérablement la sortie).

Il existe également des interfaces charts que vous pouvez utiliser; Personnellement, j'utilise xdiskusage (mais peut-être parce que je l'utilise depuis toujours):

 sudo du -am /home/jenkins | xdiskusage - 

Regardez à l'intérieur des tâches avec la command suivante

 du -sm /home/jenkins/jobs/* |sort -nr 

J'ai suggéré un sorting inversé, le plus grand étant le dernier, juste au-dessus de votre nouvelle command line, -n spécifie une comparaison numérique, la sortie du duo est toujours affichée comme Mo afin que les lignes puissent être sortingées judicieusement.

edit: quelqu'un a suggéré aussi d'append -a au du pour countr tous les files (y compris cachés) mais le commentaire a disparu?

Utilisez la command find:

 find /home/jenkins/jobs/ -type f -size +100M -exec ls -lh {} \; 

Pour un aperçu graphique rapide, vous pouvez utiliser Filelight , ce qui facilite le suivi des paths avec la plus grande part d'utilisation du disque ou un utilitaire similaire:

http://www.makeuseof.com/tag/how-to-analyze-your-disk-usage-pattern-in-linux/

Peut-être que ces trois options set peuvent atteindre les résultats que vous attendez:

-s, –summarize

afficher seulement un total pour chaque argument

-c, –total

produire un grand total

-h, –humain-lisible

formats d'printing en format lisible par l'homme (par exemple 1K 234M 2G)

 linus@host: / $ sudo du -sch * 9,8M bin 362M boot 4,0K cdrom 12K dev 32K docker 170M etc 9,5G data 36G home 0 initrd.img 0 initrd.img.old 2,9G lib 4,4M lib64 16K lost+found 84G media 12K mnt 1,1G opt du: cannot access 'proc/6836/task/6836/fd/4': No such file or directory du: cannot access 'proc/6836/task/6836/fdinfo/4': No such file or directory du: cannot access 'proc/6836/fd/4': No such file or directory du: cannot access 'proc/6836/fdinfo/4': No such file or directory 0 proc 19M root du: cannot access 'run/user/1000/gvfs': Permission denied 1,7M run 13M sbin 4,0K srv 0 sys 52K tmp 7,5G usr 14G var 0 vmlinuz 0 vmlinuz.old 154G total