Esiste un modo per estrarre un file tar.gz più velocemente di tar -zxvf filenamehere?
Abbiamo file di grandi dimensioni e stiamo cercando di ottimizzare l'operazione.
Esiste un modo per estrarre un file tar.gz più velocemente di tar -zxvf filenamehere?
Abbiamo file di grandi dimensioni e stiamo cercando di ottimizzare l'operazione.
Risposte:
pigz è una versione parallela di gzip. Sebbene utilizzi un solo thread per la decompressione, avvia 3 thread aggiuntivi per la lettura, la scrittura e il controllo del calcolo. I risultati possono variare ma abbiamo riscontrato un miglioramento significativo nella decompressione di alcuni dei nostri set di dati. Una volta installato pigz, il file tar può essere estratto con:
pigz -dc target.tar.gz | tar xf -
tar -xvf --use-compress-program=pigz filenamehere. ( -zequivale a --use-compress-program=gzip.) In alternativa, puoi persino creare gzipun collegamento simbolico pigze continuare a utilizzare -zxvf.
-xfdopo --use-compress-program=pigz, o ho ottenuto un errore. Per qualche ragione, non è stato più veloce dell'uso gzipperò.
bzip2c'è pbzip2( pper parallelo). tar --use-compress-program=pbzip2 -xvf file.tar.bz2.
pvcomando per mostrare i progressi, o un equivalente, usando anche la --use-compress-program=pigzbandiera? Durante la compressione, posso farlo gnutar --use-compress-program="pigz | pv" -cf target.tar.gz YourData, ma non sono sicuro di come farlo durante la fase di decompressione / decompressione.
se ci sono molti molti piccoli file nella tar ball, cancella il parametro 'v', riprova!
--checkpoint=NUMBER( visualizzare i messaggi di avanzamento ogni NUMBERth record ) anziché -v.
Se vuoi vedere i progressi usa qualcosa di simile pv. Ecco un esempio:
pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
$ tar -zxvfmetodo è associato a IO o CPU?