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 для этой настройки и описание?

Ответы:


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


1
Количество записей о чем, ваш ответ немного двусмысленный? :)
Jwbensley

Я предполагаю, что это также относится к RAID6, верно
MrCalvin

Вы имеете в виду, что 32768 будет стоить 512 КБ ОЗУ?
jrwren
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.