Réponses:
En ce qui concerne une version plus optimisée du
, je n'en connais pas. Les choses qui me viennent à l'esprit sont:
stat -c '%h'
) - 2.De tout cela, les options de quota et de partition dédiée sont probablement les plus simples et les plus efficaces.
Le problème est que «du» doit énumérer tous les objets de la sous-arborescence. Il s'agit d'une opération intensive en métadonnées, qui prend un certain temps pour la plupart des systèmes de fichiers Linux. Certains systèmes de fichiers, NTFS et NSS de Novell viennent à l'esprit, ont la capacité de garder une trace des tailles de répertoire comme celle-ci dans les métadonnées, ce qui rend cette opération beaucoup plus rapide. En règle générale, si votre système de fichiers prend en charge les quotas de répertoires, il doit conserver ces données en interne pour l'application, chaque changement de taille est répliqué dans l'arborescence de répertoires jusqu'au point de quota (NTFS) ou dans chaque répertoire (NSS ) quand cela se produit, il est donc très rapide d'obtenir une taille d'arborescence de répertoires.
Malheureusement, il n'y a aucun moyen d'accélérer le du, juste des solutions de contournement.
du -h --max-depth=1
Vous donne les tailles au format KB / MB / GB humain à partir de votre répertoire de travail actuel.
Avec les outils standard, vous devez obtenir la taille de chaque fichier du répertoire chaque fois que vous voulez connaître la taille totale. Un moyen peut-être plus efficace de le faire serait d'avoir un "moniteur de taille de répertoire", qui garde une trace de la taille actuelle du répertoire. Il n'y a rien de tel (que je sache), mais vous pouvez en implémenter un avec inotify
. Peut-être pas avec bash (et inotify-tools
), mais vous pourriez probablement utiliser python et pyinotify, par exemple.
si vous ne souhaitez utiliser le disque que pour le système de fichiers racine,
df -h /
Non. Pourriez-vous périodiquement faire un du piped dans un fichier texte, dans un travail cron configuré pour s'exécuter pendant la nuit, afin que vous n'ayez pas de données tout à fait disponibles immédiatement disponibles?
Notez que la mesure de l'espace disque utilisé par un dossier contenant un grand nombre de fichiers sous Windows prend également un certain temps.
df -h fera l'affaire
df -kh /
cela vous montrera l'espace disque utilisé et disponible.
Peut-être
df -h
un texte supplémentaire car une réponse courte et concise ne suffit pas pour que serverfault pense que je suis humain.
Vous devez utiliser dnotify pour calculer l'utilisation du disque si le système de fichiers n'est pas changé souvent.