在 webmin 文件系统备份模块上设置 xz 的线程数

在 webmin 文件系统备份模块上设置 xz 的线程数

是否可以更改文件系统备份模块中 xz 命令的线程数?我想使用系统上所有可用的 CPU。我尝试在 Extra 命令行参数中添加 --threads=0,但它不起作用并出现错误。

错误是:

tar: unrecognized option '--threads=0' Try 'tar --help' or 'tar --usage' for more information.

因此看起来选项被传递给了 tar 而不是 xz。

答案1

使用XZ_DEFAULTS环境变量。例如,将其放入系统范围的/etc/profile

export XZ_DEFAULTS='--threads=0'

答案2

由于多种原因,并行压缩无法达到理论上的最大吞吐量。其中最明显的是,直到最近手册页才承认已经xz --threads 实现了并行压缩。


仅使用 GNU tar 的选项,您就可以提供自己的压缩包装器: --use-compress-program=/usr/local/bin/xz-thread.sh

其中 xz-thread.sh 是一个薄包装脚本,它传递获取的所有参数并添加一些参数:

#!/bin/sh
xz --threads=0 "$@"

以类似的方式,您可以用xz具有类似 gzip 语法的其他压缩程序替代,例如zstd

相关内容