Linux; Що таке stripe_cache_size і що це робить?


10

В даний час я будую програмне забезпечення RAID під Linux за допомогою mdadmутиліти, і я прочитав кілька статей, в яких описано, як збільшити значення stripe_cache_size для цього RAID і як обчислити відповідне значення для stripe_cache_size.

Я збільшив шахту до 16384, і мій поточний показник синхронізації на новому RAID5 в / proc / mdstat підскочив з 71065K / сек до 143690K / сек (удвічі!), Що є хорошою новиною. Я також бачу відповідність і очікуване збільшення використання оперативної пам’яті, однак я не можу знайти жодної документації щодо того, що робить цей параметр і як він працює.

Здається, це якийсь кеш для RAID, який існує в оперативній пам'яті. Це все, що я можу сказати з його назви та наслідки, помічені при зміні. Чи є офіційна документація "Linux" для цього налаштування та опис цього?

Відповіді:


6

з мого розуміння stipe_cache_size - це кількість записів смуги в кеш смуги. Записи смуги різняться від систем до системи, але вона в основному контролюється розміром сторінки (за замовчуванням 4096 байт у системах Linux) ( https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c # L73 , у цьому файлі є вся логіка кешу смуги, якщо ви хочете копати глибше), тому в 4-дисковому RAID5 розмір stripe_cache_size 32768 обійдеться вам у 512 Мб оперативної пам’яті. наскільки я знаю, це впливає лише на рейд5.

ось 2 посилання на документацію: - 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
Кількість записів про що, ваша відповідь трохи неоднозначна? :)
jwbensley

Я припускаю, що він також застосовується до RAID6, правильно
MrCalvin

Ви маєте на увазі, що 32768 буде коштувати 512 КБ оперативної пам’яті?
jrwren
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.