Можно ли изменить количество потоков для команды xz в модуле резервного копирования файловой системы? Я хотел бы использовать все доступные процессоры в моей системе. Я попытался добавить --threads = 0 в дополнительные параметры командной строки, но он не работает, выдает ошибку.
Ошибка:
tar: unrecognized option '--threads=0'
Try 'tar --help' or 'tar --usage' for more information.
Похоже, что параметры передаются в tar, а не в xz.
Использовать XZ_DEFAULTS
переменная окружения. Например, поместите это в общесистемный /etc/profile
:
export XZ_DEFAULTS='--threads=0'
Параллельное сжатие не может достичь теоретической максимальной пропускной способности по ряду причин. Наиболее очевидным из них является то, что только недавно на странице руководства было признано, что xz --threads
был реализован.
Имея только параметры для GNU tar, вы можете предоставить свою собственную оболочку сжатия: --use-compress-program=/usr/local/bin/xz-thread.sh
Где xz-thread.sh - это тонкий сценарий-оболочка, который передает все полученные аргументы и добавляет еще:
#!/bin/sh
xz --threads=0 "$@"
Аналогичным образом можно заменить xz
с другими программами сжатия с синтаксисом, подобным gzip, например zstd
.