Replacing gzip and bzip2 with their parallel alternatives pigz and pbzip2
Almost all modern systems come with more than 1 core. Why not get a significant performance gain from any application that uses gzip and bzip2 simply by switching to their multi-core cousins?
Wait, how do I know that I have more than one core on my host?
Easy! Use the nproc command:
nproc
2
Replace gzip with pigz first:
pigz is in the extras repository for CentOS:
yum -y install pigz
mv /usr/bin/gzip /usr/bin/gzip.old
ln -s /usr/bin/pigz /usr/bin/gzip
Replace bzip2 with pbzip2:
To install pbzip2, we need to install the EPEL repository first:
yum -y install epel-release
yum -y install pbzip2
mv /bin/bzip2 /bin/bzip2.old
ln -s /bin/pbzip2 /bin/bzip2
Note that sometimes bzip2 does not come pre-installed, in this case you'll see an error like this, when trying the above commands:
mv /bin/bzip2 /bin/bzip2.old
mv: cannot stat ‘/bin/bzip2’: No such file or directory
You can safely ignore this and proceed anyways.
Confirm that pigz is in place:
gzip --version
pigz 2.3.3
Confirm that pbzip2 is in place:
bzip2 --version
Parallel BZIP2 v1.1.12 [Dec 21, 2014]
By: Jeff Gilchrist [http://compression.ca]
Major contributions: Yavor Nikolov [http://javornikolov.wordpress.com]
Uses libbzip2 by Julian Seward
We're good to go!