Linux; 什么是stripe_cache_size,它有什么作用?


10

我目前正在使用mdadm实用程序在Linux下构建软件RAID,并且阅读了几篇文章,描述了如何增加该RAID的stripe_cache_size值以及如何计算stripe_cache_size的适当值。

我已将我的速度提高到16384,并且我在/ proc / mdstat中新RAID5上的当前同步速率已从71065K / sec跃升至143690K / sec(翻了一番!),这是个好消息。我还看到了RAM使用量的匹配增长和预期增长,但是找不到有关此设置的作用及其工作原理的任何文档。

它似乎是存在于RAM中的RAID的某种高速缓存。我可以从它的名称以及更改它所看到的效果中看出所有。是否有关于此设置和描述的官方“ Linux”文档?

Answers:


6

根据我的理解,stipe_cache_size是条带缓存中条带条目的数量。条带条目因系统而异,但主要受页面大小控制(Linux系统上默认为4096字节)(https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c #L73,此文件具有条带缓存的所有逻辑(如果您想更深入地研究),因此在4磁盘RAID5中,stripe_cache_size为32768会占用512MB RAM。据我所知,它只影响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 2014年

我认为它也适用于RAID6,对了
MrCalvin '19

您是说32768需要512kB的RAM吗?
jrwren
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.