Post-Install: Performance
Performance options inside the Customizable post-install script. Currently this category contains a single optimization: replacing gzip with pigz so backups and compression use every CPU core instead of one.
What this category covers
Use pigz for faster gzip compression
Standard gzip compresses data using a single CPU core. On modern Proxmox hosts with 8, 16 or 32 cores, that is a huge bottleneck during vzdump VM/CT backups, log rotation, and anything else that pipes through gzip. pigz is a drop-in parallel replacement: same gzip-compatible output, but it spreads the work across every core.
What ProxMenux does
Four steps, all idempotent:
- Sets
pigz: 1in/etc/vzdump.confso Proxmox's backup tool uses pigz natively. - Installs the
pigzapt package if not already present. - Writes a wrapper script at
/bin/pigzwrapperthat forwards every argument to/usr/bin/pigz. - Moves the original
/bin/gzipaside to/bin/gzip.originaland replaces/bin/gzipwith the wrapper. From now on, anything that callsgzip— logrotate,tar czf, scripts, vzdump — uses pigz transparently.
# What ProxMenux runs under the hood
sed -i "s/#pigz:.*/pigz: 1/" /etc/vzdump.conf
apt-get -y install pigz
cat > /bin/pigzwrapper <<'EOF'
#!/bin/sh
PATH=/bin:$PATH
GZIP="-1"
exec /usr/bin/pigz "$@"
EOF
chmod +x /bin/pigzwrapper
# Only replaces gzip if not already replaced (idempotent)
[ ! -f /bin/gzip.original ] && mv /bin/gzip /bin/gzip.original \
&& cp /bin/pigzwrapper /bin/gzip && chmod +x /bin/gzipThis replaces a system binary
/bin/gzip with a wrapper is unusual. It is safe (the wrapper produces gzip-compatible output), but worth knowing: scripts that hardcode paths, run inside restrictive chroots, or verify binary hashes may behave differently. The original binary is preserved as /bin/gzip.original so you can always swap it back.Not reversible from the Uninstall menu
# Manual rollback of pigz
mv /bin/gzip.original /bin/gzip # restore original binary
rm /bin/pigzwrapper
sed -i 's/^pigz: 1/#pigz: 1/' /etc/vzdump.conf
# Optional: remove the package
apt purge pigzVerification
After applying, gzip --version should mention pigz. A quick benchmark also shows the speed difference on a multi-core host:
# Confirm gzip now points to pigz
gzip --version
# Expected first line: "pigz 2.x … by Mark Adler"
# Compare throughput (create a 1GB file of random data and compress it)
dd if=/dev/urandom of=/tmp/test.bin bs=1M count=1024 status=none
time gzip -k /tmp/test.bin # uses pigz — parallel
rm /tmp/test.bin.gz
time /bin/gzip.original -k /tmp/test.bin # original single-threaded gzip
rm /tmp/test.bin /tmp/test.bin.gzWhen this matters most
Related
- Backup and Restore commands — vzdump CLI reference, including
--pigzthreads option. - Storage — vzdump speed limits and ZFS ARC tuning.
- System — file-descriptor and memory tuning.
- Customizable Post-Install — back to the parent menu.