"description":"Performance options in the ProxMenux Customizable post-install script. Replaces single-threaded gzip with pigz (parallel gzip) for faster backups and compression on multi-core hosts."
},
"header":{
"title":"Post-Install: Performance",
"description":"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.",
"section":"Settings post-install Proxmox"
},
"intro":{
"title":"What this category covers",
"body":"The only performance option here rewires the system's gzip to a parallel implementation. Other performance-related tweaks (memory tuning, I/O scheduling, ZFS ARC sizing, kernel limits) live under their own categories (<em>System</em>, <em>Storage</em>) because they affect different subsystems."
},
"pigz":{
"heading":"Use pigz for faster gzip compression",
"intro":"Standard <code>gzip</code> compresses data using a <strong>single CPU core</strong>. On modern Proxmox hosts with 8, 16 or 32 cores, that is a huge bottleneck during <code>vzdump</code> VM/CT backups, log rotation, and anything else that pipes through <code>gzip</code>. <a>pigz</a> is a drop-in parallel replacement: same gzip-compatible output, but it spreads the work across every core.",
"doesTitle":"What ProxMenux does",
"doesIntro":"Four steps, all idempotent:",
"doesItems":[
"Sets <code>pigz: 1</code> in <code>/etc/vzdump.conf</code> so Proxmox's backup tool uses pigz natively.",
"Installs the <code>pigz</code> apt package if not already present.",
"Writes a wrapper script at <code>/bin/pigzwrapper</code> that forwards every argument to <code>/usr/bin/pigz</code>.",
"Registers a dpkg diversion for the system's <code>gzip</code> binary (<code>/usr/bin/gzip</code> on Proxmox VE 9, <code>/bin/gzip</code> on Proxmox VE 8): the real binary is kept beside it as <code>gzip.distrib</code> and the wrapper takes its place. From now on, <em>anything</em> that calls <code>gzip</code> — logrotate, <code>tar czf</code>, scripts, vzdump — uses pigz transparently.",
"Checks that the file kept as <code>gzip.distrib</code> is a working gzip before the wrapper is put in place, and reinstalls the <code>gzip</code> package first when it is not. A host that still has the earlier <code>/bin/gzip.original</code> swap is moved to the diversion when the option is applied again."
"replacesBody":"Putting a wrapper in the place of <code>gzip</code> 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 real binary is preserved as <code>gzip.distrib</code>, and because the replacement is a dpkg diversion, an update of the <code>gzip</code> package — or the upgrade from Proxmox VE 8 to 9 — updates that file and leaves the wrapper in place.",
"revertBody":"This optimization is tracked. <link>Uninstall Optimizations</link> copies the real binary from <code>gzip.distrib</code> back over the wrapper, removes the diversion and the <code>pigzwrapper</code>, comments out the <code>pigz</code> line in <code>/etc/vzdump.conf</code>, and runs <code>apt purge pigz</code> once gzip is verified to work. Manual equivalent on Proxmox VE 9:",
"verifyBody":"After applying, <code>gzip --version</code> should mention pigz. A quick benchmark also shows the speed difference on a multi-core host:",
"whenTitle":"When this matters most",
"whenBody":"The impact scales with <strong>how many cores the host has</strong> and <strong>how often you run backups</strong>. On a 2-core home-lab box with one daily vzdump, the benefit is marginal. On a 16-core production host backing up a dozen VMs every night, pigz can cut the backup window to a fraction of what single-threaded gzip takes."
},
"related":{
"heading":"Related",
"items":[
{
"label":"Backup and Restore commands",
"href":"/docs/help-info/backup-commands",
"tailRich":" — vzdump CLI reference, including <code>--pigz</code> threads option."
},
{
"label":"Storage",
"href":"/docs/post-install/storage",
"tail":" — vzdump speed limits and ZFS ARC tuning."