Jak wykonać szybszą kompresję danych z PBZIP2

Jak wykonać szybszą kompresję danych z PBZIP2

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