Como posso visualizar o espaço no disco rígido com milhões de arquivos?

18

Temos um disco rígido de 600 Gigs e quase cheio. Ele foi preenchido com 18.501.765 arquivos (principalmente pequenas imagens de 19k) e 7.142.132 pastas. É muito difícil descobrir exatamente para onde foi todo o espaço. Nossos procedimentos de limpeza regulares não estão limpando espaço suficiente, o que significa que precisamos olhar para essa unidade como um todo e determinar o que está lá e o que pode ser movido ou removido. Tentamos vários aplicativos e até agora eles explodiram ou simplesmente foram executados por um tempo incrível para serem concluídos.

Informações do servidor

  • Sistema operacional: Windows Server 2003
  • Sistema de arquivos: NTFS

Solução

O

Space ObServer conseguiu ler 18.501.765 arquivos e 7.142.132 pastas sem ocupar quase nenhuma memória. Eu tenho certeza que isso é principalmente devido ao fato de que ele usa um back-end SQL para armazenar todos os dados. Infelizmente, o mais caro de todos os produtos custa US $ 259.95 por servidor.

Soluções tentadas

Durante minha pesquisa, experimentei várias soluções diferentes, pagas e gratuitas. Mantive uma lista dos produtos que experimentei abaixo para a informação de todos.

Software Livre

Pay Software

Atualizações

Update # 1 : O servidor que estou tentando analisar tem 2 GB de RAM e a maioria dos produtos que eu tentei parece tentar manter as informações de arquivo / pasta na memória. Isso tende a esgotar-se muito rapidamente com 18.501.765 arquivos e 7.142.132 pastas.

Update # 2 : Parece que os desenvolvedores do WinDirStat se envolveram o suficiente para nos dizer que podem compilar em 64 bits. Isso dá mais memória para trabalhar, mas não tenho certeza se será suficiente, a menos que eles possam persistir no disco.

    
por Nathan Palmer 04.10.2015 / 15:25

13 respostas

5

Assumindo que seu sistema operacional é o Windows ...

De qualquer maneira, a tabulação de milhões de arquivos sempre demorará muito e será restringida pela E / S do próprio disco. Eu recomendo TreeSize Professional . Ou talvez SpaceObServer . Você também pode usar a versão freeware do TreeSize.

    
por 28.07.2010 / 23:04
4

Eu uso regularmente FolderSizes em várias unidades de 1TB com vários milhões de arquivos sem problemas.

    
por 28.07.2010 / 23:08
4

Definitivamente, tente WinDirStat : ele fornece uma visualização fantástica do uso do disco, descrevendo cada arquivo como um retângulo desenhado em escala, codificado por cores tipo de arquivo. Clique em qualquer item na visualização e você o verá na árvore de diretórios.

A compilação padrão de 32 bits é limitada a 10 milhões de arquivos e 2 GB de RAM, mas o código-fonte será criado com êxito como um aplicativo de 64 bits. O fato de o servidor em questão ter apenas 2 GB de RAM pode ser problemático nesse caso específico, mas a maioria dos servidores com um grande número de arquivos terá muito mais memória RAM.

Editar # 1: Eu lamento ter descoberto que, quando testado em um volume de 4 TB contendo milhões de arquivos, o WinDirStat Portable travou após indexar cerca de 6,5 milhões de arquivos. Pode não funcionar para a pergunta original se a unidade contiver mais de 6 milhões de arquivos.

Editar # 2: A versão completa do WinDirStat falha em 10 milhões de arquivos e 1.9 GB usados

Editar # 3: entrei em contato com os desenvolvedores WinDirStat e: (1) eles concordam que isso foi causado por limitações de uso de memória da arquitetura x86, e (2) mencionaram que ele pode ser compilado como 64 bits sem erros. Mais em breve.

Editar # 4: O teste de uma compilação de 64 bits do WinDirStat foi bem-sucedido. Em 44 minutos, indexou 11,4 milhões de arquivos e consumiu 2,7 GB de RAM.

    
por 29.07.2010 / 00:40
3

+1 para os produtos TreeSize, mas ...

Sua frase sobre "não limpar espaço suficiente" me faz pensar: você poderia ter ficado sem espaço reservado NTFS MFT? Se o sistema de arquivos capturar mais espaço MFT do que o inicialmente alocado, ele não será retornado ao espaço de arquivo regular e não será mostrado nas operações de desfragmentação.

link

"Volumes com um pequeno número de arquivos relativamente grandes esgotam o espaço não-reservado primeiro, enquanto volumes com um grande número de arquivos relativamente pequenos esgotam o espaço da zona MFT primeiro. Em ambos os casos, a fragmentação da MFT começa a ocorrer quando Se o espaço não-reservado ficar cheio, o espaço para arquivos e diretórios do usuário começa a ser alocado da zona MFT competindo com a MFT para alocação. Se a zona MFT ficar cheia, o espaço para novas entradas da MFT é alocado de o restante do disco, competindo novamente com outros arquivos. "

    
por 29.07.2010 / 01:56
3
  1. cd \
  2. dir / s > out.txt
  3. poof! A mágica acontece; ou um hacker perl aparece
  4. Resultados!

Sério. Eu fiz isso com 5 ou 6 milhões de arquivos; Não tenho certeza exatamente o que você está procurando, mas uma boa linguagem de script vai comer isso.

    
por 30.07.2010 / 04:12
3

Normalmente não sou usuário do Windows, mas estou ciente da existência do Cygwin. : -)

Se funcionar bem, algo como

du -m /your/path | sort -nr | head -n 50

ou talvez no Cygwin

du C:\ | sort -nr | head -n 50

De qualquer forma, eles devem imprimir os 50 maiores diretórios (tamanhos em megabytes).

    
por 31.07.2010 / 18:07
2

Encontrei alguns problemas com o Spacemonger e, ao procurar um utilitário, eu poderia facilmente transferir ou executar a partir do stick USB - Space Sniffer acabou por ser muito versátil nesse sentido, e lidou com volumes multi-terabyte com facilidade.

    
por 29.07.2010 / 09:41
1

du -s pode ser usado em uma pitada e será executado o tempo que for necessário.

    
por 28.07.2010 / 23:03
1

No Windows eu uso SpaceMonger (ou versão gratuita mais antiga ). No OSX, uso o Inventário de disco X .

    
por 29.07.2010 / 00:35
1

Dê uma olhada em GetFoldersize

    
por 31.07.2010 / 20:39
0

Em relação à tabela mft, na parte de trás da minha cabeça parece que me lembro que o jkdefrag, a versão original do opensource, dava uma visão de disco muito precisa, incluindo cores diferentes para áreas Mft. Acho que usei isso uma vez antes para uma regra geral de tamanho mft e fragmentação.

Também não se importa com o chdsk.

Pode tentar isso?

    
por 31.07.2010 / 13:05
0

link

Outra opção em potencial

    
por 31.07.2010 / 14:57
0

Eu usei o Disk Usage Analyzer - Baobab no Linux usando sua função de varredura remota no servidor Windows. Eu não sei quais são seus limites.

O LiveCD do Fedora contém o Baobab. Inicialize-o em qualquer computador na sua LAN.

É tudo grátis - como na cerveja e na fala. Também para uso comercial.

    
por 02.08.2010 / 19:02