[FreeBSD-users-jp 96193] disk I/O を制限する手段と geom についての質問
Hiroo Ono (小野寛生)
hiroo.ono+freebsd @ gmail.com
2018年 3月 23日 (金) 23:23:30 UTC
小野寛生です。
いくつか質問です。
(1) ディスクI/O を毎秒一定の値以下に抑える方法はありませんでしょうか。
ちょっと調べたのですがわかりませんでした。
(2) geom_sched の仕組みを使えばできるかもと思って geom_sched のアルゴリズム
のモジュールをおよそ次のような感じで実装してみたのですが、gstat で見ると
read は制限されるものの linear な感じではなく、write は全然効いていないぽいです。
src/sys/geom/sched/gs_scheduler.h に実装しろと書かれている関数のうち、
gs_start() で渡された bio を queue に入れ、
gs_done() で bio->bio_bcount を積算し、
gs_next() で積算した値が一定値以下なら bio を queue から返す。
あとは gs_init() でタイマーを設定し、一定時間ごとに積算している
カウンタ変数を 0 にする。
/usr/include/sys/bio.h の struct bio の説明では bio_bcount は
"valid bytes in buffer" となっていますが、この値の単位は bytes で合っている
でしょうか。
また、読み書きされる量は上記のように bio_counts を見るのでいいのでしょうか。
すみませんが、よろしくお願いします。
freebsd-users-jp メーリングリストの案内