Назад | Перейти на главную страницу

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

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

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

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

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