Se você ainda não fez isso, poderá resolver o seu problema colocando mais memória RAM na máquina que está executando o detector duplicado (supondo que ele ainda não esteja no máximo). Você também pode contornar o problema dividindo os arquivos restantes em subconjuntos e digitalizando pares desses subconjuntos até que você tenha tentado todas as combinações. No entanto, a longo prazo, isso pode não ser um problema melhor resolvido com um programa detector duplicado que você precisa executar periodicamente.
Você deve procurar em um servidor de arquivos com deduplicação de dados . Resumidamente, isso armazenará automaticamente apenas uma cópia física de cada arquivo, com cada "cópia" vinculada ao arquivo físico único. (Alguns sistemas realmente usam a desduplicação em nível de bloco em vez da dedução em nível de arquivo, mas o conceito é o mesmo.)
Novos sistemas de arquivos avançados, como o ZFS , BTRFS , e lessfs têm suporte a dedução, assim como o OpenDedup fileserver appliance OS. Um ou mais desses sistemas de arquivos podem já estar disponíveis em seus servidores Linux. O Windows Storage Server também possui dedução. Se você tiver algum dinheiro para solucionar o problema, algumas soluções SAN / NAS comerciais têm capacidade de dedução.
Tenha em mente, porém, que a deduplicação não ajudará necessariamente com versões pequenas e ligeiramente modificadas dos mesmos arquivos. Se as pessoas estão sujando seus servidores com múltiplas versões de seus arquivos em todo o lugar, você deve tentar fazer com que eles organizem melhor seus arquivos e usem um sistema de controle de versão - que salva apenas o arquivo original e a cadeia de diferenças incrementais. / p>
Atualização:
64 GB devem ser suficientes para o armazenamento em cache de pelo menos 1 bilhão de entradas de caminho de arquivo de checksum na memória física, assumindo que somas de verificação de 128 bits e metadados médios (caminho do sistema de arquivos, tamanho de arquivo, data etc.) não excedam 52 bytes. Naturalmente, o sistema operacional iniciará a paginação em algum momento, mas o programa não deverá travar - isto é, supondo que o localizador de arquivos duplicado em si seja um aplicativo de 64 bits.
Se o localizador de arquivos duplicados for apenas um programa de 32 bits (ou se for um script executado em um interpretador de 32 bits), o número de arquivos que você pode processar poderá ser muito menor se a PAE não estiver ativada: mais no ordem de 63 milhões (4 GB / (128 bits + 52 bytes)), sob as mesmas suposições de antes. Se você tiver mais de 63 milhões de arquivos, usar uma soma de verificação maior ou se os metadados médios armazenados em cache pelo programa forem maiores que 52 bytes, provavelmente será necessário encontrar um localizador de arquivos duplicados de 64 bits. Além dos programas sugeridos pelo mgorven (que eu suponho que estão disponíveis em 64 bits, ou pelo menos podem ser facilmente recompilados), há uma versão de 64 bits do DupFiles disponível para Windows.