Jak wykonać szybszą kompresję danych z PBZIP2
- 2127
- 629
- Laura Zygmunt
Wstęp
Co jeśli będziesz w stanie wykonać kompresję danych czterokrotnie szybciej, z tym samym współczynnikiem kompresji, co zwykle. Narzędzie wiersza poleceń PBZIP2 może łatwo to osiągnąć, ponieważ daje opcję wyboru numeru procesora i ilości pamięci RAM do użycia podczas procesu kompresji.
Zwykła kompresja TAR i BZIP2
Wszyscy znamy zwykłe polecenie wykonania kompresji katalogu TAR i BZIP2. Poniższe polecenie będzie smoła
i skompresuj nasz katalog piaskownicy Foobar
. Prefiksujemy również poniższe polecenie, aby uzyskać dokładny czas na to, jak długo zajmie wyprowadzenie skompresowanego pliku Foobar.smoła.BBZ2
z 242 MB Diatoryj Foobar:
# czas tar cjf foobar1.smoła.BZ2 FOOBAR/ REAL 0M20.030S Użytkownik 0M19.828S Sys 0m0.304S
Z powyższego czasu wyjście widzimy, że utworzenie następującego pliku skompresowanego zajęło około 20 sekund:
# ls -lh foobar1.smoła.BZ2 -RW-R-R-- 1 Korzeń root 54m Mar 10 20:25 Foobar1.smoła.BZ2
Szybsza kompresja z BPZIP2
PBZIP2
Domyślnie używa wszystkich dostępnych procesorów i 100 MB pamięci RAM do wykonania kompresji. Następujące polecenie Linux wykonuje kompresję katalogu za pomocą PBZIP2
. Po raz kolejny używamy czasu do pomiaru czasu wykonania:
# czas tar -c foobar | pbzip2 -c> foobar2.smoła.BZ2 Real 0M4.777S Użytkownik 0M35.588S Sys 0m1.060
Alternatywnie, polecenie Bellow przyniesie ten sam wynik:
# czas tar cf foobar3.smoła.BZ2-Usuż się-compress-prog = pbzip2 foobar real 0m4.764S Użytkownik 0M35.508S Sys 0m1.136s
Zasoby rezerwowe
Jak już wspomniano, PBZIP2
Pozwala użytkownikowi wybrać liczbę procesorów i ilość pamięci RAM, aby poświęcić się kompresji. Poniższy przykład używa tylko pojedynczego procesora do wykonywania żądanej kompresji:
# czas tar -c foobar | pbzip2 -c -p1> foobar4.smoła.BZ2 Real 0M20.348S Użytkownik 0M19.972S Sys 0m0.648s
Aby poświęcić wybraną ilość użycia pamięci RAM -M
przełącznik. Domyślnie PBZIP2 używa 100 MB. Poniższy przykład wykonuje kompresję za pomocą 1 procesora i 10 MB pamięci RAM:
# czas tar -c foobar | pbzip2 -c -p1 -m10> foobar5.smoła.BZ2 Real 0M20.Użytkownik 362S 0M19.932S Sys 0m0.704S
Poziom kompresji
Jak zwykle ma to miejsce w przypadku dowolnych narzędzi kompresyjnych, PBZIP2
pozwala również na ustawienia współczynnika kompresji. Zakres kompresji wynosi od 1 do 9, gdzie domyślnie wynosi 9, co jest również najlepszym współczynnikiem kompresji. Aby zmienić szybkość kompresji na np. 1
używać -1
:
czas tar -c foobar | pbzip2 -c -1> foobar6.smoła.BZ2 Real 0m3.786S Użytkownik 0M28.612S Sys 0m0.364S
Korzystając z powyższego przykładu, skończy się szybszy czas wykonywania, ale większa nazwa pliku:
# ls -lh *.BZ2 -RW-R-R-- 1 Korzeń root 54m Mar 10 20:02 Foobar1.smoła.BZ2 -RW-R-R-- 1 Korzeń root 54m Mar 10 20:41 foobar2.smoła.BZ2 -RW-R-R-- 1 Korzeń root 54m Mar 10 20:43 Foobar3.smoła.BZ2 -RW-R-R-- 1 Korzeń root 54m Mar 10 20:48 foobar4.smoła.BZ2 -RW-R-R-- 1 Korzeń root 54m Mar 10 20:54 Foobar5.smoła.BZ2 -RW-R-R-- 1 Korzenie 67m Mar 10 21:00 Foobar6.smoła.BZ2
Dekompresja
Aby wykonać dekompresję za pomocą PBZIP2
Wykonuje znaczące, jeśli w ogóle, oszczędzanie czasu w porównaniu z BZIP2
. Do dekompresji danych skompresowanych BZIP2 można użyć następujących poleceń Linuksa PBZIP2
pożytek:
# tar xf foobar1.smoła.BZ2-Usuż się-Compress-prog = pbzip2 lub # pbzip2 -dc foobar1.smoła.BZ2 | Tar x
Powiązane samouczki Linux:
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zainstalowania na Ubuntu 20.04
- Najlepsze narzędzie do kompresji w Linux
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- GNU/Linux Ogólne Przewodnik po rozwiązywaniu problemów dla początkujących
- Mastering Bash Script Loops
- Sprawdź wykorzystanie procesora i pamięci RAM kapsułki Kubernetes
- Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
- Hung Linux System? Jak uciec do wiersza poleceń i…
- Podstawowe polecenia Linux