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?

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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.