pigz to równoległa wersja gzip. Chociaż używa tylko jednego wątku do dekompresji, uruchamia 3 dodatkowe wątki do czytania, pisania i sprawdzania obliczeń. Twoje wyniki mogą się różnić, ale zauważyliśmy znaczną poprawę dekompresji niektórych naszych zestawów danych. Po zainstalowaniu pigz plik tar można wyodrębnić za pomocą:
+1. FWIW, możesz również napisać to jako tar -xvf --use-compress-program=pigz filenamehere. ( -zwynosi --use-compress-program=gzip.) Alternatywnie możesz nawet stworzyć gzipsymboliczne łącze do pigzi używać go dalej -zxvf.
ruakh
2
@ruakh, musiałem wstawić -xfpóźniej --use-compress-program=pigz, albo dostałem błąd. Z jakiegoś powodu nie było to jednak szybsze niż używanie gzip.
poniedziałek,
Ponieważ bzip2jest pbzip2( pdla równoległych). tar --use-compress-program=pbzip2 -xvf file.tar.bz2.
alfC
Czy istnieje sposób użycia pvpolecenia, aby pokazać postęp, lub ekwiwalent, jednocześnie używając --use-compress-program=pigzflagi? Podczas kompresji mogę to zrobić gnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData, ale nie jestem pewien, jak to zrobić podczas rozpakowywania / rozpakowywania.
Stefan Lasiewski
13
jeśli w tarce znajduje się wiele, wiele małych plików, anuluj parametr „v”, spróbuj ponownie!
Nigdy nie używam -v param. Nie wiem, dlaczego ludzie potrzebują tak dużo hałasu na konsoli.
Eimantas
9
@Eimantas Kiedy rozpakowujesz coś, co zawiera wiele plików wielogigabajtowych, będziesz potrzebować pewnych wskazówek dotyczących postępu. :)
Michael Hampton
@ TimHughes: to naprawdę wspaniale wiedzieć, proszę pisać jako osobną odpowiedź!
smci
Michael Hampton, jeśli masz pliki wielogigabajtowe, ale zmieszane z dużymi listami małych plików, masz dobry powód, aby nie używać -v, w moich lokalnych testach powoduje, że tar działa bardzo wolno, szczególnie jeśli masz tar działający na zdalnym serwerze przez terminal, co robię, to oglądać katalog du -s, dzięki czemu mogę obserwować, jak rośnie katalog ...
Luciano Andress Martini
Warto użyć --checkpoint=NUMBER( wyświetlaj komunikaty postępu co NUMBER-ty rekord ) zamiast -v.
Stefan Lasiewski
6
Jeśli chcesz zobaczyć postęp, użyj czegoś takiego pv. Oto przykład:
pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
$ tar -zxvf
metoda jest związana z IO lub CPU?Odpowiedzi:
pigz to równoległa wersja gzip. Chociaż używa tylko jednego wątku do dekompresji, uruchamia 3 dodatkowe wątki do czytania, pisania i sprawdzania obliczeń. Twoje wyniki mogą się różnić, ale zauważyliśmy znaczną poprawę dekompresji niektórych naszych zestawów danych. Po zainstalowaniu pigz plik tar można wyodrębnić za pomocą:
źródło
tar -xvf --use-compress-program=pigz filenamehere
. (-z
wynosi--use-compress-program=gzip
.) Alternatywnie możesz nawet stworzyćgzip
symboliczne łącze dopigz
i używać go dalej-zxvf
.-xf
później--use-compress-program=pigz
, albo dostałem błąd. Z jakiegoś powodu nie było to jednak szybsze niż używaniegzip
.bzip2
jestpbzip2
(p
dla równoległych).tar --use-compress-program=pbzip2 -xvf file.tar.bz2
.pv
polecenia, aby pokazać postęp, lub ekwiwalent, jednocześnie używając--use-compress-program=pigz
flagi? Podczas kompresji mogę to zrobićgnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData
, ale nie jestem pewien, jak to zrobić podczas rozpakowywania / rozpakowywania.jeśli w tarce znajduje się wiele, wiele małych plików, anuluj parametr „v”, spróbuj ponownie!
źródło
--checkpoint=NUMBER
( wyświetlaj komunikaty postępu co NUMBER-ty rekord ) zamiast-v
.Jeśli chcesz zobaczyć postęp, użyj czegoś takiego
pv
. Oto przykład:źródło