Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Comment compresser des archives en utilisant tous les cœurs de processeur avec Tar

Si vous avez déjà eu à compresser de gros volumes avec du goudron, vous saurez à quel point cela peut être pénible. Cela va souvent très lentement et vous vous retrouvez à appuyer sur Ctrl + C pour terminer la tâche et l’oublier. Cependant, il existe d’autres outils que tar peut utiliser, et ils constituent un excellent moyen d’utiliser les processeurs fortement multithreads d’aujourd’hui et d’accélérer votre archivage tar. Cet article vous montre comment faire en sorte que tar utilise tous les cœurs lors de la compression d’archives sous Linux.

Les trois principaux outils en question ici sont pigz, pbzip2 et pxz. Il existe quelques différences subtiles entre les outils, mais les différences se situent entre gzip, bzip2 et xz. Dans cet ordre respectif, les niveaux de compression augmentent, ce qui signifie qu’une archive compressée avec gzip sera plus grande qu’une archive compressée avec xz, mais gzip prendra naturellement moins de temps que xz. bzip2 est quelque part au milieu.

Le « p » qui commence les noms de chacun des outils signifie « parallèle ». La parallélisation est quelque chose qui est devenu de plus en plus pertinent au fil des ans – à quel point quelque chose couvre tous les cœurs de processeur. Avec des processeurs comme les gammes Epyc et Threadripper d’AMD qui peuvent atteindre 64 cœurs et 128 threads, il est important de comprendre quelles applications peuvent en tirer parti. Ces fonctions de compression sont des candidats de choix.

Psssssst :  Comment puis-je télécharger des jeux Android sur mon iPhone ?

Pour installer les outils, vous pouvez simplement vous tourner vers vos repos.

Cet article se concentre sur pxz par souci de cohérence. Vous pouvez consulter ce tutoriel pour pigz.

Contenu

Compression des archives avec Tar

La syntaxe de tar est assez simple. Pour simplement compresser un répertoire, vous pouvez utiliser une commande comme celle-ci :

Le premier utilisera gzip, le second utilisera bzip2 et le troisième utilisera xz. Le nom de fichier et le répertoire varieront en fonction de ce que vous faites, mais j’ai extrait le noyau Linux de GitHub dans mon répertoire « /home », et je l’utiliserai. Donc, je vais commencer et lancer cette commande avec la commande time à l’avant pour voir combien de temps cela prend. Vous pouvez également voir que xz est répertorié comme prenant le pourcentage le plus élevé de mon processeur sur ce système, mais il n’épingle qu’un seul cœur à 100 %.

Tar Tous les noyaux Tar Xz
Tar All Cores Htop 1

Et, comme vous pouvez le voir, il a fallu très longtemps à mes vieux i7-2600 pour compresser Linux 5.10-rc3 (environ 28 minutes).

Temps de goudron tous les cœurs Xz

C’est là que ces outils de compression parallèles sont utiles. Si vous compressez un fichier volumineux et que vous cherchez à le faire plus rapidement, je ne saurais trop recommander ces outils.

Vous pouvez soit dire à tar d’utiliser un programme de compression avec l’option –use-compression-program, soit utiliser un indicateur de commande un peu plus simple de -I. Voici un exemple de syntaxe pour l’un de ces outils :

Testons-le et voyons combien de temps il faut à mon système pour compresser le noyau Linux avec accès aux huit threads de mon processeur. Vous pouvez voir ma lecture htop montrant tous les threads épinglés à 100 pour cent d’utilisation à cause de pxz.

Tar Tous les noyaux Tar Pxz
Tar All Cores Htop 2

Vous pouvez voir qu’il a fallu beaucoup moins de temps pour compresser cette archive (environ sept minutes !), et c’était avec le multitâche. J’ai une machine virtuelle en arrière-plan et je navigue sur le Web en ce moment. Le planificateur matériel du noyau Linux vous donnera ce dont vous avez besoin pour vos affaires personnelles, donc si vous laissez votre commande pxz s’exécuter sans qu’aucun autre élément ne s’exécute sur votre système, vous pourrez peut-être le faire plus rapidement.

Tar All Cores Temps Pxz

Réglage des niveaux de compression avec pigz, pbzip2 et pxz

Vous pouvez également transmettre des niveaux de compression à pxz pour rendre le fichier encore plus petit. Cela nécessitera plus de RAM, de CPU et de temps, mais cela en vaut la peine si vous avez vraiment besoin d’un petit fichier. Voici une comparaison des deux commandes et de leurs résultats côte à côte.

Tar Tous les noyaux Tar Pxz 9
Tar All Cores Pxz 9 Temps
Comparaison de la compression Tar All Cores

La compression n’est pas beaucoup plus importante et le temps n’en vaut pas nécessairement la peine, mais si chaque mégaoctet compte, c’est toujours une excellente option.

Psssssst :  Comment ouvrir un socket sous Linux ?

J’espère que vous avez apprécié ce guide sur l’utilisation de tous les cœurs pour compresser des archives à l’aide de tar. Assurez-vous de consulter certains de nos autres contenus Linux, comme comment construire un nouveau PC pour Linux, maîtriser Apt et devenir un gourou Apt, et comment installer Arch Linux sur un Raspberry Pi.

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci