小野寛生です。 この件、rctl で user や jail ごとに制限できるよと教えてもらって解決しました。
/boot/loader.conf に kern.racct.enable=1 を入れて、 rctl -a user:root:writebps:throttle=500k とか rctl -a jail:s11amd64-main:writebps:throttle=500k rctl -a jail:s11amd64-main:readbps:throttle=500k みたいな感じでいけるようです。 2018年3月24日 8:23 Hiroo Ono (小野寛生) <hiroo.ono+free...@gmail.com>: > 小野寛生です。 > > いくつか質問です。 > > (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@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"