Como bzip2 afirma comprimir mejor (en tamaño), decidí usarlo. El servidor de trabajo puede ofrecer 24 CPU (virtuales) (4 X5650 reales a 2,67 GHz), por lo que decidí buscar variantes paralelas.
Usando debian stable
- lo siento, pero encontré las mejores coincidencias aquí en askubuntu - decidí echar un vistazo más de cerca pbzip2
y lbzip2
.
¿Pero qué seleccionar? En estable real pbzip2
está en versión 1.1.1-1
y lbzip2
en versión 0.23-1
. Eso podría tender cosméticamente pbzip2
, pero lbzip2
dice que incluso es más rápido en computadoras de un solo núcleo. Por otro lado, pbzip2
afirma ser completamente compatible con bzip2 v1.0.2
.
Además, tengo algunos valores de tiempo de un gran trabajo local:
usarlbzip2
Command being timed: "tar -cjf /tmp/mapleTAsicherung.lbzip2.tar /bin /etc /lib /lib32 /opt /sbin /selinux /usr"
User time (seconds): 2134.32
System time (seconds): 39.24
Percent of CPU this job got: 2099%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:43.51
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1509088
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 1054467
Voluntary context switches: 153901
Involuntary context switches: 235285
Swaps: 0
File system inputs: 0
File system outputs: 3460632
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
Utilizando pbzip2
Command being timed: "tar -cjf /tmp/mapleTAsicherung.pbzip2.tar /bin /etc /lib /lib32 /opt /sbin /selinux /usr"
User time (seconds): 3158.18
System time (seconds): 59.80
Percent of CPU this job got: 2095%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:33.56
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1436320
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 477683
Voluntary context switches: 151326
Involuntary context switches: 339246
Swaps: 0
File system inputs: 0
File system outputs: 3460536
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
¿Qué se debe usar? ¿Cuáles son las principales diferencias? Por el momento tiendo hacia lbzip2
.
fuente
Respuestas:
Aquí hay una idea básica de cómo evaluarlos.
Tome un gran tarball del tipo con el que generalmente trabaja. Comprímalo con bzip2, pbzip2, lbzip2. Mida los tiempos (reloj de pared) y guarde todas las salidas en diferentes archivos. Esto le dará tres veces y tres tamaños de archivo.
Luego, repita los tres archivos de salida (es decir, las salidas de compresión de bzip2, pbzip2, lbzip2) y descomprima cada uno con las tres utilidades (bzip2, pbzip2 y lbzip2). Esto te dará nueve veces más.
Vuelva a ejecutar las doce pruebas con un generador de perfiles y obtenga un uso máximo de memoria (virtual y RSS) para cada una. Nuevamente, esto producirá 12 valores. (Si su Linux está configurado para no comprometerse demasiado, entonces está interesado en VSZ. De lo contrario, le interesará RSS).
Haga una tabla con 12 filas para estos puntos de datos (col1: 3 tamaños comprimidos, col2: 3 tiempos de compresión / 9 tiempos de descompresión, col3: 12 mems pico) y elija el que más le convenga. Debe tener en cuenta la frecuencia con la que se comprime frente a la frecuencia con la que se descomprime.
Uso lbzip2-0.23, pero lo escribí, por lo que no cuenta.
Finalmente, no importa cuál sea el mejor para usted, guarde siempre una suma de comprobación del archivo tar sin comprimir , además verifique su archivo guardado antes de declarar que la copia de seguridad está "hecha".
fuente
Hice algunos puntos de referencia de comparación para bzip2 vs pbzip2 y lbzip2 junto con lzip y plzip en http://vbtechsupport.com/1614/ . Me gustan las mejoras de velocidad para lbzip2 siempre que tenga suficiente memoria.
fuente