bup-memtest - manual de referencia, opciones, ejemplos de comandos


NOMBRE

bup-memtest - prueba de estadísticas de uso de memoria bup

SINOPSIS

bup memtest [options...]

DESCRIPCIÓN

bup memtest abre la lista de índices de paquetes en su repositorio bup, luego busca en la lista una serie de objetos inexistentes, imprimiendo estadísticas de uso de memoria después de cada ciclo.

Debido a la forma en que funcionan los sistemas Unix, la salida generalmente mostrará un valor grande (y que no cambia) en la columna VmSize, porque la asignación de los archivos de índice en primer lugar requiere una cierta cantidad de espacio de direcciones virtuales. Sin embargo, este uso de memoria virtual es completamente virtual; no toma nada de su RAM. Con el tiempo, bup usa partes de los índices, que deben cargarse desde el disco, y esto es lo que provoca un aumento en la columna VmRSS.

OPCIONES

-n, --number=number

establecer el número de objetos a buscar durante cada ciclo (es decir, antes de imprimir una línea de salida)

-c, --cycles=cycles

establecer el número de ciclos (es decir, el número de líneas de salida después de la primera). La primera línea de salida siempre es 0 (es decir, la línea de base antes de buscar cualquier objeto).

--ignore-midx

ignore cualquier archivo .midx creado por bup midx. Esto le permite comparar el rendimiento de la memoria con y sin usar midx.

--existing

busque objetos existentes en lugar de buscar objetos aleatorios inexistentes. Esto puede afectar en gran medida el uso y el rendimiento de la memoria. Tenga en cuenta que la mayor parte del tiempo, bup save pasa la mayor parte de su tiempo buscando objetos inexistentes, ya que los existentes probablemente estén en archivos no modificados de los que no intentaremos hacer una copia de seguridad de todos modos. Entonces, el comportamiento predeterminado refleja el rendimiento real de bup con mayor precisión. Pero es posible que desee esta opción de todos modos solo para asegurarse de que no ha hecho que la búsqueda de objetos existentes sea mucho peor que antes.

EJEMPLOS

$ bup memtest -n300 -c5
PackIdxList: using 1 index.
               VmSize      VmRSS     VmData      VmStk 
        0    20824 kB    4528 kB    1980 kB      84 kB 
      300    20828 kB    5828 kB    1984 kB      84 kB 
      600    20828 kB    6844 kB    1984 kB      84 kB 
      900    20828 kB    7836 kB    1984 kB      84 kB 
     1200    20828 kB    8736 kB    1984 kB      84 kB 
     1500    20828 kB    9452 kB    1984 kB      84 kB 

$ bup memtest -n300 -c5 --ignore-midx
PackIdxList: using 361 indexes.
               VmSize      VmRSS     VmData      VmStk 
        0    27444 kB    6552 kB    2516 kB      84 kB 
      300    27448 kB   15832 kB    2520 kB      84 kB 
      600    27448 kB   17220 kB    2520 kB      84 kB 
      900    27448 kB   18012 kB    2520 kB      84 kB 
     1200    27448 kB   18388 kB    2520 kB      84 kB 
     1500    27448 kB   18556 kB    2520 kB      84 kB 

DISCUSIÓN

Al optimizar la indexación de BUP, el primer objetivo es mantener el VmRSS razonablemente bajo. Sin embargo, eventualmente podría ser necesario intercambiar todos los índices, simplemente porque está buscando muchos objetos, y esto hará que su RSS crezca hasta el tamaño de VmSize eventualmente.

La palabra clave aquí es eventualmente. Siempre que VmRSS crezca con una lentitud razonable, la cantidad de actividad del disco provocada por el acceso a los índices del paquete es razonablemente pequeña. Si crece rápidamente, bup probablemente pasará la mayor parte de su tiempo intercambiando datos de índice del disco en lugar de ejecutar su copia de seguridad, por lo que las copias de seguridad se ejecutarán muy lentamente.

El propósito de bup memtest es darle una idea de qué tan rápido está creciendo su uso de memoria y ayudarlo a optimizar bup para un mejor uso de la memoria. Si tiene problemas de memoria, es posible que se le pida que envíe el resultado de bup memtest para ayudar a diagnosticar los problemas.

Sugerencia: intente usar bup midx -a o bup midx -f para ver si ayuda a reducir el uso de memoria.

Trivia: el uso de memoria de índice en bup (o git) solo es realmente un problema cuando se agrega una gran cantidad de objetos no vistos anteriormente. Esto se debe a que para cada objeto, debemos confirmar absolutamente que no está ya en la base de datos, lo que requiere que busquemos en todos los índices de paquetes existentes para asegurarnos de que ninguno de ellos contenga el objeto en pregunta. En el caso más obvio de buscar objetos que existen, los objetos que se buscan generalmente están relacionados de alguna manera, lo que significa que probablemente todos existan en una pequeña cantidad de archivos de paquete, por lo que el uso de memoria será restringido a solo esos índices de archivos de paquete.

Dado que los usuarios de git normalmente no agregan muchos archivos en una sola ejecución, git realmente no necesita un programa como bup midx. bup, por otro lado, pasa la mayor parte de su tiempo haciendo copias de seguridad de archivos que no ha visto antes, por lo que sus patrones de uso de memoria son diferentes.

VER TAMBIÉN

bup-midx(1)

BUP

Parte de la suite bup(1).

AUTORES

Avery Pennarun apenwarr@gmail.com.