是否可以更改文件系统备份模块中 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
。