Soru Linux; Stripe_cache_size nedir ve ne işe yarar?


Şu anda Linux altında Linux altında bir yazılım geliştiriyorum mdadm yardımcı programı ve bu RAID için stripe_cache_size değerinin nasıl yükseltileceğini ve stripe_cache_size için uygun bir değerin nasıl hesaplanacağını açıklayan birkaç makale okudum.

16384'e benimkini arttırdım ve yeni bir RAID5 / proc / mdstat üzerindeki güncel senkronizasyon oranım 71065K / sn'den 143690K / sn'ye (iki katına çıktı!) Atladı. Ayrıca RAM kullanımında eşleşen ve beklenen artışları görüyorum, ancak bu ayarın ne işe yaradığını ve nasıl çalıştığını gösteren bir belge bulamıyorum.

RAM'de bulunan RAID için bir çeşit önbellek gibi görünüyor. Adından ve değiştirerek görülen etkilerinden anladığım tek şey bu. Bu ayar ve bunun açıklaması için resmi bir "Linux" belgesi var mı?


9
2018-03-03 14:33


Menşei




Cevaplar:


Anlayışımdan stipe_cache_size, şerit önbelleğindeki şerit girişlerinin sayısıdır. Şerit girişleri sistemlerden sisteme değişir ancak çoğunlukla sayfa boyutuyla kontrol edilir (linux sistemlerinde varsayılan 4096 bayt) (https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c#L73 Bu dosya, daha derin bir kazı yapmak istiyorsanız şerit önbelleğinin tüm mantığına sahiptir. Bu nedenle, 4 diskli RAID5'de, 32768'in bir stripe_cache_size değeri 512MB RAM'e mal olacaktır. Bildiğim kadarıyla sadece raid5'i etkiliyor.

2 dokümantasyon referansı: - https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L603 - https://raid.wiki.kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking


5
2018-03-05 13:22



Neyin giriş sayısı, cevabınız biraz belirsiz mi? :) - jwbensley