web-dev-qa-db-ja.com

Linux; stripe_cache_sizeとは何ですか?

現在、Linuxでmdadmユーティリティを使用してソフトウェアRAIDを構築しています。そのRAIDのstripe_cache_size値を増やす方法と、stripe_cache_sizeの適切な値を計算する方法を説明する記事をいくつか読んだことがあります。

私は私のものを16384に増やし、/ proc/mdstatの新しいRAID5での現在の同期レートは71065K /秒から143690K /秒(2倍)に急上昇しました。これは朗報です。また、RAMの使用量の増加と一致が見られますが、この設定の機能とその機能についてのドキュメントは見つかりません。

これは、RAMに存在するRAIDのある種のキャッシュのようです。その名前とそれを変更することによる影響から、私が知ることができるのはそれだけです。この設定とその説明に関する公式の「Linux」ドキュメントはありますか?

10
jwbensley

私の理解では、stipe_cache_sizeはストライプキャッシュ内のストライプエントリの数です。ストライプエントリはシステムによって異なりますが、ほとんどはページサイズによって制御されます(Linuxシステムではデフォルトの4096バイト)( https://github.com/torvalds/linux/blob/master/drivers/md /raid5.c#L7 、より深く掘り下げたい場合は、このファイルにストライプキャッシュのすべてのロジックが含まれます)。4ディスクのRAID5では、32768のstripe_cache_sizeで512MBのRAMのコストがかかります。私が知る限り、それはraid5にのみ影響します。

ここに2つのドキュメント参照があります:- https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L6 - https://raid.wiki。 kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking

6
c0m4