Tenemos un disco duro de 600 Gigas y casi lleno. Se ha llenado con 18.501.765 archivos (en su mayoría pequeñas imágenes de 19k) y 7.142.132 carpetas. También es muy difícil descubrir dónde se ha ido exactamente todo el espacio. Nuestros procedimientos regulares de limpieza no están despejando suficiente espacio, lo que significa que tenemos que mirar esta unidad como un todo y determinar qué hay ahí fuera y qué se puede mover o quitar. Hemos probado varias aplicaciones y hasta ahora han explotado o simplemente se han ejecutado durante una increíble cantidad de tiempo.
información del servidor
- Sistema operativo: Windows Server 2003
- Sistema de archivos: NTFS
Solución
Space ObServer pudo leer 18.501.765 archivos y 7.142.132 carpetas sin ocupar casi nada de memoria. Estoy seguro de que esto se debe principalmente al hecho de que utiliza un servidor SQL para almacenar todos los datos. Desafortunadamente, es el más caro de todos los productos a $ 259.95 por servidor.
Soluciones Intentadas
Durante mi investigación probé varias soluciones diferentes, tanto de pago como gratuitas. Seguí una lista de los productos que probé a continuación para información de todos.
Software libre
JDiskReport : se detiene en 10 millonesWinDirStat - Se detiene en 10 millonesSpaceMonger - Salto debido a la mención de almacenamiento RAMSpaceSniffer - Se detiene en desconocido - accidente
Software de pago
FolderSizes : se detiene en 12 millones (3 millones de carpetas)TreeSize Professional - Salto debido a la mención de almacenamiento RAM
Actualizaciones
Actualización n. ° 1 : el servidor que intento analizar tiene 2 GB de RAM y la mayoría de los productos que intento parecen intentar mantener la información del archivo / carpeta en la memoria. Esto tiende a agotarse demasiado rápido con 18.501.765 archivos y 7.142.132 carpetas.
Actualización n. ° 2 : Parece que los desarrolladores de WinDirStat se involucraron lo suficiente como para decirnos que puede compilarse con menos de 64 bits. Eso le da más memoria para trabajar, pero no estoy seguro de si será suficiente a menos que puedan persistir en el disco.
fuente
Respuestas:
Asumiendo que su sistema operativo es Windows ...
De cualquier forma que lo corte, tabular millones de archivos siempre llevará mucho tiempo y estará restringido por la E / S del disco. Recomiendo TreeSize Professional . O tal vez SpaceObServer . También puedes probar la versión gratuita de TreeSize.
fuente
Definitivamente pruebe WinDirStat : brinda una visualización fantástica del uso del disco al representar cada archivo como un rectángulo dibujado a escala, codificado por color por tipo de archivo. Haga clic en cualquier elemento de la visualización y lo verá en el árbol de directorios.
La compilación estándar de 32 bits está limitada a 10 millones de archivos y 2 GB de uso de RAM, pero el código fuente se compilará con éxito como una aplicación de 64 bits. El hecho de que el servidor en cuestión solo tenga 2 GB de RAM puede ser problemático en este caso específico, pero la mayoría de los servidores con un número tan grande de archivos tendrán mucha más RAM.
Edición n. ° 1: Lamento haber descubierto que, cuando se probó en un volumen de 4 TB que contiene millones de archivos, WinDirStat Portable se bloqueó después de indexar alrededor de 6,5 millones de archivos. Es posible que no funcione para la pregunta original si la unidad contiene más de 6 millones de archivos.
Edición n. ° 2: la versión completa de WinDirStat se bloquea con 10 millones de archivos y se usan 1,9 GB
Edición n. ° 3: me puse en contacto con los desarrolladores de WinDirStat y: (1) están de acuerdo en que esto fue causado por las limitaciones de uso de memoria de la arquitectura x86, y (2) mencioné que se puede compilar como 64 bits sin errores. Más pronto.
Edición n. ° 4: La prueba de una compilación de WinDirStat de 64 bits fue exitosa. En 44 minutos, indexó 11.4 millones de archivos y consumió 2.7 GB de RAM.
fuente
Regularmente uso FolderSizes en varias unidades de 1TB con varios millones de archivos sin problemas.
fuente
+1 para los productos TreeSize, pero ...
Su oración sobre "no limpiar suficiente espacio" me hace preguntarme: ¿podría haberse quedado sin espacio reservado NTFS MFT? Si el sistema de archivos toma más espacio MFT del que se asignó inicialmente, no se devuelve al espacio de archivos normal y no se muestra en las operaciones de desfragmentación.
http://support.microsoft.com/kb/174619
"Los volúmenes con una pequeña cantidad de archivos relativamente grandes agotan primero el espacio no reservado, mientras que los volúmenes con una gran cantidad de archivos relativamente pequeños agotan primero el espacio de la zona MFT. En cualquier caso, la fragmentación de la MFT comienza a tener lugar cuando una región o el otro se llena. Si el espacio no reservado se llena, el espacio para los archivos y directorios del usuario comienza a asignarse desde la zona MFT que compite con la MFT por la asignación. Si la zona MFT se llena, el espacio para nuevas entradas MFT se asigna desde el resto de el disco, compitiendo nuevamente con otros archivos ".
fuente
Seriamente. He hecho esto con 5 o 6 millones de archivos; No estoy seguro de lo que está buscando exactamente, pero un buen lenguaje de secuencias de comandos se lo comerá.
fuente
Normalmente no soy un usuario de Windows, pero estoy al tanto de la existencia de Cygwin. :-)
Si funciona lo suficientemente bien, algo así como
o tal vez en Cygwin
De todos modos, deberían imprimir los 50 directorios más grandes (tamaños en megabytes).
fuente
Encontré algunos problemas con Spacemonger y al buscar una utilidad que podría transferir o ejecutar fácilmente desde una memoria USB: Space Sniffer resultó ser muy versátil en ese sentido, y manejó volúmenes de varios terabytes con facilidad.
fuente
du -s
se puede usar en caso de necesidad y se ejecutará todo el tiempo que sea necesario.fuente
En Windows uso SpaceMonger (o una versión gratuita anterior ). En OSX uso de discos de inventario X .
fuente
Echa un vistazo a GetFoldersize
fuente
Con respecto a la tabla mft, desde la parte posterior de mi cabeza me parece recordar que jkdefrag, la versión original de código abierto, proporcionó una vista de disco muy precisa que incluía diferentes colores para las áreas mft. Creo que lo usé una vez antes para una estimación general del tamaño mft y la fragmentación.
Tampoco le importa chdsk.
¿Podría intentar eso?
fuente
http://www.freshney.org/xinorbis/
Otra opción potencial
fuente
He usado el analizador de uso de disco: Baobab en Linux usando su función de escaneo remoto en el servidor de Windows. Sin embargo, no sé cuáles son sus límites.
Fedora LiveCD contiene Baobab. Arrancarlo en cualquier computadora en su LAN.
Todo es gratis, como en la cerveza y en el discurso. También para uso comercial.
fuente