Est-il possible d'extraire un fichier tar.gz plus rapidement que tar -zxvf filenamehere
?
Nous avons de gros fichiers et essayons d'optimiser l'opération.
Est-il possible d'extraire un fichier tar.gz plus rapidement que tar -zxvf filenamehere
?
Nous avons de gros fichiers et essayons d'optimiser l'opération.
Réponses:
pigz est une version parallèle de gzip. Bien qu'il n'utilise qu'un seul thread pour la décompression, il lance 3 threads supplémentaires pour la lecture, l'écriture et le calcul de contrôle. Vos résultats peuvent varier, mais nous avons constaté une amélioration significative de la décompression de certains de nos ensembles de données. Une fois que vous avez installé pigz, le fichier tar peut être extrait avec:
pigz -dc target.tar.gz | tar xf -
tar -xvf --use-compress-program=pigz filenamehere
. ( -z
équivaut à --use-compress-program=gzip
.) Sinon, vous pouvez même créer gzip
un lien symbolique vers pigz
, et continuer à utiliser -zxvf
.
-xf
après --use-compress-program=pigz
, ou j'ai eu une erreur. Pour une raison quelconque, ce n'était pas plus rapide que d'utiliser gzip
.
bzip2
il y a pbzip2
( p
pour parallèle). tar --use-compress-program=pbzip2 -xvf file.tar.bz2
.
pv
commande pour afficher une progression, ou un équivalent, tout en utilisant le --use-compress-program=pigz
drapeau? Pendant la compression, je peux le faire gnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData
, mais je ne suis pas sûr de savoir comment le faire pendant la décompression / décompression.
s'il y a beaucoup de petits fichiers dans la boule de tar, annulez le paramètre 'v', essayez à nouveau!
--checkpoint=NUMBER
( affiche les messages de progression à chaque NUMBERème enregistrement ) au lieu de -v
.
Si vous voulez voir des progrès, utilisez quelque chose comme pv
. Voici un exemple:
pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
$ tar -zxvf
méthode est liée à IO ou CPU?