Linux; Stripe_cache_size nedir ve ne işe yarar?


10

Şu anda mdadmyardımcı programı kullanarak Linux altında bir yazılım RAID inşa ediyorum ve nasıl bu RAID için stripe_cache_size değerini artırmak ve stripe_cache_size için uygun bir değer hesaplamak açıklayan birkaç makale okudum.

Madeni 16384'e çıkardım ve / proc / mdstat'taki yeni bir RAID5'teki mevcut senkronizasyon hızım 71065K / sn'den 143690K / sn'ye (iki katına!) Yükseldi ki bu iyi haber. RAM kullanımında da eşleşen ve beklenen artışı görüyorum, ancak bu ayarın ne yaptığı ve nasıl çalıştığı hakkında herhangi 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 etkilerden söyleyebileceğim tek şey bu. Bu ayar ve açıklama için resmi bir "Linux" belgesi var mı?

Yanıtlar:


6

benim anlayışımdan stipe_cache_size, şerit önbelleğindeki şerit girişi sayısıdır. Şerit girişleri sistemlerden sisteme değişir ancak çoğunlukla sayfa boyutu tarafından kontrol edilir (linux sistemlerinde varsayılan 4096 bayt) ( https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c # L73 , daha derin kazmak istiyorsanız bu dosyanın şerit önbelleğinin tüm mantığı vardır) bu nedenle 4 diskli RAID5'te 32768'lik bir strip_cache_size size 512MB RAM'e mal olur. bildiğim kadarıyla sadece baskını etkiliyor5.

2 doküman 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


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

RAID6 için de geçerli olduğunu düşünüyorum, doğru
MrCalvin

Şunu mu demek istediniz: 32768 512 KB RAM'a mal olacak?
jrwren
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.