Я использую менеджера Архива Ubuntu (ролик файла) для сжатия (tar.gz) некоторых больших файлов и каталогов.
Часто это занимает много времени, потому что эта программа использует только одно из моих восьми ядер процессора.
Существует ли способ вынудить менеджера Архива использовать все мои ядра процессора?
Я пытался найти ответ на этот вопрос сам, и я могу сообщить о частичном успехе: p7zip, не истратив все ядра, кажется, делает довольно мало использования больше чем из одного, по крайней мере, при сжатии. В моей двухъядерной системе, это примерно макси оба ядра, и на четырехъядерном члене семьи, это макси одно ядро и выполнения другие три приблизительно при половине загрузки, варьирующейся между 30% и 80% или около этого. Извлечение, кажется, не является многопоточным вообще, тем не менее, как он макси одно ядро, и остальные бездействуют вперед.
я попытался установить различный из многоядерных способных компрессоров и создать ссылки на них от/usr/bin, но ролик файла проигнорировал их. Все, что я мог найти в своем исследовании, является подсказкой на некотором немецком форуме (если перевод goog точен), что там, по-видимому, трудно кодируются пути в источнике ролика файла, таким образом, было предложено заменить исходные двоичные файлы в / мусорном ведре со ссылками на (теоретически совместимый с командной строкой) многоядерные замены как pigz, но я не чувствовал смелости достаточно для попытки этого все же сам.
Поток форума с 2012, который был упомянут MoTLD, говорит решение для парования:
Создают некоторый softlinks в /usr/override
для использования pigz
и lbzip2
вместо нормальных общих двоичных файлов. Это могло быть похожим на это:
ls -l /usr/override
total 0
lrwxrwxrwx 1 root root 17 Oct 23 21:20 bunzip2 -> /usr/bin/lbunzip2
lrwxrwxrwx 1 root root 15 Oct 23 21:20 bzcat -> /usr/bin/lbzcat
lrwxrwxrwx 1 root root 15 Oct 23 21:19 bzip2 -> /usr/bin/lbzip2
lrwxrwxrwx 1 root root 15 Oct 23 21:19 gunzip -> /usr/bin/unpigz
lrwxrwxrwx 1 root root 13 Oct 23 21:19 gzip -> /usr/bin/pigz
Таким образом программы как tar -cz
используют несколько ядер. Тем не менее file-roller
, кажется, не использует эти символьные ссылки, но можно использовать xarchiver
, который затем использует несколько ядер, также.