Comment effectuer une compression de données plus rapide avec PBZIP2

Comment effectuer une compression de données plus rapide avec PBZIP2

Introduction

Et si vous pouviez effectuer une compression de données quatre fois plus rapide, avec le même rapport de compression que vous le faites normalement. L'utilitaire de ligne de commande PBZIP2 peut facilement y parvenir car il vous donne une option pour sélectionner le numéro de CPU et la quantité de RAM à utiliser pendant le processus de compression.

Compression TAR et BZIP2 ordinaire

Nous connaissons tous la commande régulière pour effectuer la compression du répertoire TAR et BZIP2. La commande ci-dessous le goudron et comprimer notre répertoire de bac à sable Foobar. Nous préfixons également la commande ci-dessous pour obtenir un temps exact pour combien de temps cela prendra pour produire un fichier compressé Foobar.le goudron.Bbz2 à partir de 242 Mo de répertoire FOOBAR:

# Time Tar CJF FOOBAR1.le goudron.BZ2 FOOBAR / REAL 0M20.Utilisateur 030s 0m19.828S SYS 0M0.304 

À partir de la sortie de temps ci-dessus, nous pouvons voir qu'il a fallu environ 20 secondes pour créer un fichier compressé suivant:

# ls -lh foobar1.le goudron.bz2 -rw-r - r-- 1 racine root 54m mars 10 20:25 foobar1.le goudron.bz2 

Compression plus rapide avec bpzip2

pbzip2 Par défaut, utilise tous les processeurs disponibles et 100 Mo de RAM pour effectuer une compression. La commande Linux suivante effectuera une compression du répertoire en utilisant pbzip2. Encore une fois, nous utilisons le temps pour mesurer le temps d'exécution:

# Time Tar -c Foobar | PBZIP2 -C> FOOBAR2.le goudron.BZ2 REAL 0M4.777S User 0m35.588S SYS 0M1.060 

Alternativement, la commande ci-dessous donnera le même résultat:

# TIME TAR CF FOOBAR3.le goudron.bz2 --use-compress-prog = pbzip2 foobar réel 0m4.764S User 0m35.508S SYS 0M1.136S 

Réserver les ressources

Comme déjà mentionné, pbzip2 permet à l'utilisateur de sélectionner le nombre de processeurs et la quantité de RAM d'être consacrée à la compression. L'exemple ci-dessous consiste à utiliser uniquement le CPU pour effectuer une compression demandée:

# Time Tar -c Foobar | PBZIP2 -C -P1> FOOBAR4.le goudron.BZ2 REAL 0M20.348S User 0m19.972S SYS 0M0.648 

Afin de consacrer une utilisation sélectionnée par RAM -m changer. Par défaut, PBZIP2 utilise 100 Mo. L'exemple ci-dessous effectue une compression en utilisant 1 CPU et 10 Mo de RAM:

# Time Tar -c Foobar | PBZIP2 -C -P1 -M10> FOOBAR5.le goudron.BZ2 REAL 0M20.362s utilisateur 0m19.932S SYS 0M0.704S 

Niveau de compression

Comme c'est généralement le cas avec tous les services publics de compression, pbzip2 Permet également les paramètres de rapport de compression. La plage de compression est de 1 à 9, où la valeur par défaut est 9, ce qui est également le meilleur rapport de compression. Pour changer le taux de compression en par exemple. 1 utiliser -1:

 Time Tar -C Foobar | PBZIP2 -C -1> FOOBAR6.le goudron.BZ2 REAL 0M3.786S User 0m28.612S SYS 0M0.364S 

En utilisant l'exemple ci-dessus, vous vous retrouverez avec un temps d'exécution plus rapide mais un nom de fichier plus grand:

 # ls -lh *.bz2 -rw-r - r-- 1 racine root 54m mars 10 20:02 foobar1.le goudron.bz2 -rw-r - r-- 1 racine root 54m mars 10 20:41 foobar2.le goudron.bz2 -rw-r - r-- 1 racine root 54m mars 10 20:43 foobar3.le goudron.bz2 -rw-r - r-- 1 racine root 54m mars 10 20:48 foobar4.le goudron.bz2 -rw-r - r-- 1 racine root 54m mars 10 20:54 foobar5.le goudron.bz2 -rw-r - r-- 1 racine root 67m mars 10 21:00 foobar6.le goudron.bz2 

Décompression

Pour préformer une décompression en utilisant pbzip2 fait pour produire significatif, le cas échéant, de gagner du temps en comparaison avec bzip2. Les commandes Linux suivantes peuvent être utilisées pour décompresser les données compressées BZIP2 en utilisant pbzip2 utilitaire:

# TAR XF FOOBAR1.le goudron.bz2 --use-compress-prog = pbzip2 ou # pbzip2 -dc foobar1.le goudron.BZ2 | Tar X 

Tutoriels Linux connexes:

  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à installer sur Ubuntu 20.04
  • Meilleur outil de compression sur Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Guide de dépannage général GNU / Linux pour les débutants
  • Masterring Bash Script Loops
  • Vérifiez l'utilisation du processeur et de la RAM d'un pod kubernetes
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Commandes Linux de base