Use todas as CPUs ao criar arquivos no Linux

3

Hoje eu queria criar um backup de uma pasta em um servidor com 16 CPUs. Eu comecei a procurar por uma opção que pudesse utilizar meu hardware para arquivar uma pasta melhor do que como o tar faz. Algo com suporte multi-thread provavelmente. Eu fiz algumas pesquisas e percebi que existem ferramentas como pbzip2 e pigz, mas elas só podem compactar, não arquivar. Então vocês tem uma solução elegante para isso?

    
por Navid 19.07.2012 / 07:31

2 respostas

1

O arquivamento em si é intensivo de E / S e não se beneficiará de vários núcleos. Alimente a saída descompactada do tar para um dos programas encontrados.

Editar:

tar -cO /directory/path | whizbang -compress --ultra-brute --cpus=16

onde whizbang é substituído pelo seu compressor favorito dependendo das preferências de velocidade vs tamanho

    
por 19.07.2012 / 07:39
1

O que Ignacio disse ... mas -O é para extrair arquivos para stdout ...

Então, minha sugestão:

tar cf - /directory/path | whizbang -compress --cpus=16 > archive.tar.whizbang

O próximo passo, é claro, seria pressionar os mantenedores de tar para incluir suporte a whizbang em sua próxima versão. ; -)

    
por 19.07.2012 / 10:42