Acelerar o zgrep em um computador com vários núcleos

6

Estou executando zgrep em um computador com 16 CPUs, mas é preciso apenas uma CPU para executar a tarefa.

Posso acelerar, talvez utilizar todos os 16 núcleos?

P.S O IO está bem, eu poderia simplesmente copiar o arquivo gzipado no disco de memória

    
por daisy 17.08.2013 / 04:09

2 respostas

9

Você pode fazer como @UlrichDangel sugerido nos comentários e substituir o executável gzip por pigz . Se você quiser algo um pouco menos invasivo, também poderá criar funções para gzip e gunzip e adicioná-las ao seu arquivo $HOME/.bashrc .

gzip() {
 pigz "$@"
}
export -f gzip

gunzip() {
 unpigz "$@"
}
export -f gunzip

Agora, quando você executar zgrep ou zcat , ele usará pigz .

Referências

por 17.08.2013 / 05:16
1

Ou crie um link simbólico / usr / local / bin / {gzip, gunzip} para os respectivos binários, pois é provável que esteja em PATH antes de / usr / bin

$ sudo ln -s /usr/bin/pigz /usr/local/bin/gzip

$ sudo ln -s /usr/bin/unpigz /usr/local/bin/gunzip

$ which gzip

/usr/local/bin/gzip

$ gzip --help

Usage: pigz [options] [files ...]

    
por 13.02.2015 / 03:25