Respuestas:
En cuanto a una versión más optimizada du
, no tengo conocimiento de una. Las cosas que vienen a la mente son:
stat -c '%h'
) - 2.De todo esto, las opciones de cuota y partición dedicada son probablemente las más fáciles y eficientes.
El problema es que 'du' tiene que enumerar cada objeto en el subárbol. Esta es una operación intensiva de metadatos, y lleva un tiempo para la mayoría de los sistemas de archivos Linux. Algunos sistemas de archivos, NTFS y NSS de Novell vienen a la mente, tienen la capacidad de realizar un seguimiento de los tamaños de directorio como este en los metadatos, lo que hace que esta operación sea mucho más rápida. En general, si su sistema de archivos admite cuotas de directorio de algún tipo, tiene que hacer un seguimiento de estos datos internamente para la aplicación, cada cambio de tamaño se replica en el árbol de directorios hasta el punto de cuota (NTFS) o cada directorio (NSS) ) cuando sucede, por lo que obtener un tamaño de árbol de directorios es muy rápido.
Desafortunadamente, no hay una manera de hacer que correr más rápido, solo soluciones.
du -h --max-depth=1
Le da los tamaños en formato KB / MB / GB humano desde su directorio de trabajo actual.
Con las herramientas estándar, debe obtener el tamaño de cada archivo en el directorio cada vez que desee saber el tamaño total. Una forma posiblemente más eficiente de hacerlo sería tener un "monitor de tamaño de directorio", que realiza un seguimiento del tamaño actual del directorio. No existe tal cosa (que yo sepa), pero podría implementar uno con inotify
. Posiblemente no con bash (y inotify-tools
), pero probablemente podría usar python y pyinotify, por ejemplo.
si solo desea el uso del disco para el sistema de archivos raíz, entonces
df -h /
No. ¿Podrías hacer una copia periódica a un archivo de texto, en un trabajo cron configurado para ejecutarse durante la noche, de modo que no tengas datos actuales disponibles de inmediato?
Tenga en cuenta que medir el espacio en disco utilizado por una carpeta que contiene un gran número de archivos en Windows de manera similar lleva algún tiempo.
df -kh /
Esto le mostrará la cantidad de espacio en disco utilizado y disponible.
Quizás
df -h
el texto adicional ya que una respuesta breve y concisa no es suficiente para que serverfault piense que soy humano.
Debe usar dnotify para calcular el uso del disco si el sistema de archivos no se cambia con frecuencia.