Linux; Что такое stripe_cache_size и для чего он нужен?

10

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

Я увеличил мой до 16384, и моя текущая частота синхронизации на новом RAID5 в / proc / mdstat подскочила с 71065K / sec до 143690K / sec (вдвое!), Что является хорошей новостью. Я также вижу соответствующее и ожидаемое увеличение использования ОЗУ, однако я не могу найти никакой документации о том, что делает этот параметр и как он работает.

Кажется, это какой-то кеш для RAID, который существует в оперативной памяти. Это все, что я могу сказать по его названию и по эффектам, увиденным при его изменении. Есть ли официальная документация по Linux для этой настройки и описание?

jwbensley
источник

Ответы:

6

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

Вот 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

c0m4
источник
1
Количество записей о чем, ваш ответ немного двусмысленный? :)
Jwbensley
Я предполагаю, что это также относится к RAID6, верно
MrCalvin
Вы имеете в виду, что 32768 будет стоить 512 КБ ОЗУ?
jrwren