Temos um disco rígido de 600 Gigs e quase cheio. Ele foi preenchido com 18.501.765 arquivos (principalmente imagens pequenas de 19k) e 7.142.132 pastas. É muito difícil descobrir para onde foi exatamente todo o espaço. Nossos procedimentos regulares de limpeza não estão liberando espaço suficiente, o que significa que precisamos examinar esta unidade como um todo e determinar o que existe e o que pode ser movido ou removido. Tentamos vários aplicativos e até agora eles explodiram ou simplesmente foram executados por uma quantidade incrível de tempo para serem concluídos.
informação 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. Tenho certeza de que isso se deve principalmente 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.
Tentativas de soluções
Durante minha pesquisa, tentei várias soluções diferentes, pagas e gratuitas. Eu mantive uma lista dos produtos que tentei abaixo para obter informações de todos.
Software grátis
JDiskReport - Pára em 10 milhõesWinDirStat - Pára em 10 milhõesSpaceMonger - Ignorando devido à menção de armazenamento em RAMSpaceSniffer - Pára em desconhecido - falha
Pay Software
FolderSizes - Pára em 12 milhões (3 milhões de pastas)TreeSize Professional - Ignorando devido a menção de armazenamento em RAM
Atualizações
Atualização 1 : o servidor que estou tentando analisar possui 2 GB de RAM e a maioria dos produtos que tento parece tentar manter as informações de arquivo / pasta na memória. Isso tende a acabar muito rapidamente com 18.501.765 arquivos e 7.142.132 pastas.
Atualização # 2 : Parece que os desenvolvedores do WinDirStat se envolveram o suficiente para nos dizer que ele pode 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.
fonte
Respostas:
Supondo que seu sistema operacional seja o Windows ...
De qualquer forma, você pode dividir milhões de arquivos sempre que levar muito tempo e será restringido pela E / S do próprio disco. Eu recomendo o TreeSize Professional . Ou talvez SpaceObServer . Você também pode experimentar a versão gratuita do TreeSize.
fonte
Definitivamente tente o WinDirStat : fornece uma visualização fantástica do uso do disco, representando cada arquivo como um retângulo desenhado em escala, codificado por cores pelo 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 o uso de 2 GB de RAM, mas o código-fonte será compilado 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 número tão grande de arquivos terá muito mais RAM.
Edição 1: 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.
Edição nº 2: a versão completa do WinDirStat falha com 10 milhões de arquivos e 1,9 GB usados
Edição nº 3: entrei em contato com os desenvolvedores do 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 cedo.
Edição nº 4: O teste de uma compilação de 64 bits do WinDirStat foi bem-sucedido. Em 44 minutos, ele indexou 11,4 milhões de arquivos e consumiu 2,7 GB de RAM.
fonte
Eu uso regularmente o FolderSizes em várias unidades de 1 TB com vários milhões de arquivos sem problemas.
fonte
+1 nos produtos TreeSize, mas ...
Sua frase sobre "não limpar espaço suficiente" me faz pensar: você poderia ficar sem espaço reservado para NTFS MFT? Se o sistema de arquivos pegar mais espaço da MFT do que o inicialmente alocado, ele não retornará ao espaço de arquivo normal e não será mostrado nas operações de desfragmentação.
http://support.microsoft.com/kb/174619
"Os volumes com um número pequeno de arquivos relativamente grandes esgotam o espaço não reservado primeiro, enquanto os volumes com um número grande de arquivos relativamente pequenos esgotam o espaço da zona da MFT primeiro. Em ambos os casos, a fragmentação da MFT começa a ocorrer quando uma região ou região Se o espaço não reservado ficar cheio, o espaço para arquivos e diretórios do usuário começará a ser alocado a partir da zona MFT competindo com a MFT pela alocação. Se a zona MFT ficar cheia, o espaço para novas entradas MFT será alocado no restante disco, competindo novamente com outros arquivos ".
fonte
Seriamente. Eu fiz isso com 5 ou 6 milhões de arquivos; não sei exatamente o que você está procurando, mas uma boa linguagem de script vai consumir isso.
fonte
Normalmente, não sou usuário de Windows, mas estou ciente da existência de Cygwin. :-)
Se funcionar suficientemente bem, algo como
ou talvez em Cygwin
De qualquer forma, você deve imprimir 50 diretórios maiores (tamanhos em megabytes).
fonte
Eu encontrei alguns problemas com o Spacemonger e, ao procurar um utilitário, eu poderia facilmente transferir ou executar a partir de um dispositivo USB - o Space Sniffer mostrou-se muito versátil nesse aspecto e lidou com volumes de vários terabytes com facilidade.
fonte
du -s
pode ser usado rapidamente e durará o tempo necessário.fonte
No Windows, eu uso o SpaceMonger (ou versão gratuita mais antiga ). No OSX eu uso Disk Inventory X .
fonte
Dê uma olhada no GetFoldersize
fonte
Em relação à tabela mft, pareço lembrar que jkdefrag, a versão original de código-fonte aberto, deu uma visão muito precisa do disco, incluindo cores diferentes para as áreas mft. Eu acho que eu usei isso uma vez antes para uma regra geral de estimativa do tamanho e fragmentação do mft.
Também não se importa com o chdsk.
Pode tentar isso?
fonte
http://www.freshney.org/xinorbis/
Outra opção potencial
fonte
Eu usei o Disk Usage Analyzer - Baobab no Linux usando sua função de verificação remota no servidor Windows. Eu não sei o que são seus limites embora.
O LiveCD do Fedora contém Baobab. Inicialize-o em qualquer computador na sua LAN.
É tudo grátis - como na cerveja e na fala. Também para uso comercial.
fonte