Linux ¿Qué es stripe_cache_size y qué hace?

10

Actualmente estoy construyendo un RAID de software en Linux usando la mdadmutilidad y he leído algunos artículos que describen cómo aumentar el valor de stripe_cache_size para ese RAID y cómo calcular un valor apropiado para stripe_cache_size.

He aumentado el mío a 16384 y mi tasa de sincronización actual en un nuevo RAID5 en / proc / mdstat ha saltado de 71065K / seg a 143690K / sec (¡duplicado!), Lo cual es una buena noticia. También veo la coincidencia y el aumento esperado en el uso de RAM, sin embargo, no puedo encontrar ninguna documentación sobre lo que hace esta configuración y cómo funciona.

Parece ser un caché de algún tipo para el RAID que existe en la RAM. Eso es todo lo que puedo decir por su nombre y los efectos que se ven al cambiarlo. ¿Existe alguna documentación oficial de "Linux" para esta configuración y su descripción?

jwbensley
fuente

Respuestas:

6

Según tengo entendido, stipe_cache_size es el número de entradas de stripe en el cache de stripe. Las entradas de franjas varían de un sistema a otro, pero están controladas principalmente por el tamaño de página (valor predeterminado de 4096 bytes en sistemas Linux) ( https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c # L73 , este archivo tiene toda la lógica de la caché de bandas si desea profundizar más), por lo que en un RAID5 de 4 discos, un tamaño de caché de 32768 le costará 512 MB de RAM. Hasta donde yo sé afecta solo a raid5.

Aquí hay 2 referencias de documentación: - https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L603 - https://raid.wiki.kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking

c0m4
fuente
1
¿Número de entradas de qué, su respuesta es un poco ambigua? :)
jwbensley
Supongo que también se aplica a RAID6, correcto
MrCalvin,
¿Quiere decir que 32768 costará 512kB de RAM?
jrwren