Como executar uma compressão de dados mais rápida com pbzip2

Como executar uma compressão de dados mais rápida com pbzip2

Introdução

E se você pudesse executar uma compactação de dados quatro vezes mais rápida, com a mesma taxa de compressão que normalmente faz. O utilitário de linha de comando pbzip2 pode facilmente conseguir isso, pois oferece a opção de selecionar a CPU número e a quantidade de RAM a ser usada durante o processo de compressão.

Compressão regular de alcatrão e BZIP2

Todos sabemos o comando regular para realizar a compressão do diretório TAR e BZIP2. O comando abaixo vai alcatrão e compactar nosso diretório de sandbox Foobar. Também estamos prefixando o comando abaixo para obter o tempo exato por quanto tempo levará para a saída de arquivo compactado Foobar.alcatrão.BBZ2 do diretório foobar de 242 MB:

# tempo tar cjf foobar1.alcatrão.BZ2 Foobar/ Real 0m20.030S Usuário 0M19.828S SYS 0M0.304s 

A partir da saída do tempo acima, podemos ver que levou cerca de 20 segundos para criar o seguinte arquivo compactado:

# ls -lh foobar1.alcatrão.BZ2 -RW-R-R-- 1 raiz 54M de março 20:25 Foobar1.alcatrão.BZ2 

Compressão mais rápida com bpzip2

pbzip2 Por padrão, usa todos os CPUs disponíveis e 100 MB para executar compressão. O seguinte comando linux executará a compactação de diretório usando pbzip2. Mais uma vez, usamos o tempo para medir o tempo de execução:

# Time Tar -C Foobar | pbzip2 -c> foobar2.alcatrão.BZ2 Real 0M4.777S Usuário 0M35.588S SYS 0M1.060s 

Como alternativa, o comando bellow produzirá o mesmo resultado:

# tempo tar cf foobar3.alcatrão.bz2 --se-compress-prog = pbzip2 foobar real 0m4.764S Usuário 0M35.508S SYS 0M1.136s 

Recursos de reserva

Como já mencionado, pbzip2 Permite que o usuário selecione o número de CPUs e a quantidade de RAM dedicada à compactação. Abaixo, o exemplo está usando apenas a CPU único para executar a compactação solicitada:

# Time Tar -C Foobar | pbzip2 -c -p1> foobar4.alcatrão.BZ2 Real 0M20.348S Usuário 0M19.972S SYS 0M0.648s 

Para dedicar a quantidade selecionada de uso de RAM -m trocar. Por padrão, o pbzip2 usa 100 MB. Exemplo abaixo executa compressão usando 1 CPU e 10 MB de RAM:

# Time Tar -C Foobar | pbzip2 -c -p1 -m10> foobar5.alcatrão.BZ2 Real 0M20.362S Usuário 0M19.932S SYS 0M0.704s 

Nível de compressão

Como geralmente é o caso de quaisquer utilitários de compressão, pbzip2 Também permite configurações de taxa de compressão. A faixa de compressão é de 1 a 9, onde o padrão é 9, que também é a melhor taxa de compressão. Para alterar a taxa de compressão para por exemplo. 1 usar -1:

 TEMPO TAR -C FOOBAR | pbzip2 -c -1> foobar6.alcatrão.BZ2 Real 0m3.786S Usuário 0M28.612S SYS 0M0.364s 

Usando o exemplo acima, você acabará com um tempo de execução mais rápido, mas um nome de arquivo maior:

 # LS -LH *.BZ2 -RW-R-R-- 1 raiz 54M de março 20:02 Foobar1.alcatrão.BZ2 -RW-R-R-- 1 raiz 54m de março 20:41 foobar2.alcatrão.BZ2 -RW-R-R-- 1 raiz 54M de março 20:43 Foobar3.alcatrão.BZ2 -RW-R-R-- 1 raiz 54m de março 20:48 Foobar4.alcatrão.BZ2 -RW-R-R-- 1 raiz 54m de março 20:54 Foobar5.alcatrão.BZ2 -RW-R-R-- 1 raiz de raiz 67m 10 de março 21:00 foobar6.alcatrão.BZ2 

Descompressão

Para pré -formar uma descompressão usando pbzip2 é para produzir um tempo significativo, se houver, em comparação com BZIP2. Os seguintes comandos Linux podem ser usados ​​para descomprimir dados compactados BZIP2 usando pbzip2 Utilitário:

# tar xf foobar1.alcatrão.bz2 --se-compress-prog = pbzip2 ou # pbzip2 -dc foobar1.alcatrão.BZ2 | Tar x 

Tutoriais do Linux relacionados:

  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para instalar no Ubuntu 20.04
  • Melhor ferramenta de compressão no Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Guia de solução de problemas gerais GNU/Linux para iniciantes
  • Mastering Bash Script Loops
  • Verifique o uso da CPU e RAM de uma cápsula de Kubernetes
  • Comandos Linux: os 20 comandos mais importantes que você precisa para…
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • Comandos básicos do Linux