Czy w ogóle istnieje możliwość szybszego wyodrębnienia pliku tar.gz tar -zxvf filenamehere
?
Mamy duże pliki i staramy się zoptymalizować operację.
Czy w ogóle istnieje możliwość szybszego wyodrębnienia pliku tar.gz tar -zxvf filenamehere
?
Mamy duże pliki i staramy się zoptymalizować operację.
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ą:
pigz -dc target.tar.gz | tar xf -
tar -xvf --use-compress-program=pigz filenamehere
. ( -z
wynosi --use-compress-program=gzip
.) Alternatywnie możesz nawet stworzyć gzip
symboliczne łącze do pigz
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żywanie gzip
.
bzip2
jest pbzip2
( 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!
--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:
pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
$ tar -zxvf
metoda jest związana z IO lub CPU?