web-dev-qa-db-fra.com

Comment forcer "gestionnaire d'archives" (rouleau de fichiers) à utiliser tous les cœurs de processeur?

J'utilise le gestionnaire d'archives d'Ubuntu (fichier-rouleau) pour compresser (tar.gz) des fichiers et des répertoires volumineux.

Cela prend souvent beaucoup de temps, car ce programme utilise un seul de mes huit cœurs de processeur.

Existe-t-il un moyen de forcer Archive Manager à utiliser tous mes cœurs de processeur?

3
eDeviser

J'ai moi-même essayé de trouver une réponse à cette question, et je peux faire état d'un succès partiel: p7Zip, même s'il ne dépasse pas tous les cœurs, semble en utiliser beaucoup, du moins lors de la compression. Sur mon système dual-core, il limite à peu près les deux noyaux, et sur le quad-core d'un membre de la famille, il maximise un noyau et exploite les trois autres à environ la moitié de la charge, variant entre 30% et 80% environ. L'extraction semble ne pas être multi-thread du tout, cependant, car elle limite un noyau et le reste au ralenti.

J'ai essayé d'installer divers compresseurs multi-core et de créer des liens avec/usr/bin, mais file roller les a ignorés. Tout ce que j'ai pu trouver dans mes recherches, c'est un indice sur un forum allemand (si la traduction de goog est exacte) qu'il existe apparemment des chemins codés en dur dans le fichier source, il a donc été suggéré de remplacer les binaires d'origine dans/bin par des liens vers les remplacements multicœurs (théoriquement compatibles avec la ligne de commande) tels que pigz, mais je n'ai pas encore eu le courage de l'essayer moi-même.

2
MoTLD

Le fil de discussion de 2012 mentionné par MoTLD indique la solution suivante:

Créez des liens symboliques dans /usr/override pour utiliser pigz et lbzip2 à la place des fichiers binaires communs normaux. Cela pourrait ressembler à ceci:

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

Ainsi, des programmes comme tar -cz utilisent plusieurs cœurs. Néanmoins, file-roller ne semble pas utiliser ces liens symboliques, mais vous pouvez utiliser xarchiver, qui utilise également plusieurs cœurs.

0
eDeviser