Назад | Перейти на главную страницу

Установка количества потоков для xz в модуле резервного копирования файловой системы webmin

Можно ли изменить количество потоков для команды 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.