Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Mar 2018 11:11:54 +0900
From:      =?UTF-8?B?SGlyb28gT25vICjlsI/ph47lr5vnlJ8p?= <hiroo.ono+freebsd@gmail.com>
To:        freebsd-users-jp <freebsd-users-jp@freebsd.org>
Subject:   [FreeBSD-users-jp 96194] Re:  =?utf-8?b?ZGlzayBJL08g44KS5Yi26ZmQ44GZ44KL5omL5q6144GoIGdl?= =?utf-8?b?b20g44Gr44Gk44GE44Gm44Gu6LOq5ZWP?=
Message-ID:  <CANtk6Sg_5VKpLQ1L=T5uQh2BnFp_djRFaCf-UZ0DW8pVmKMoRw@mail.gmail.com>
In-Reply-To: <CANtk6SiE=LWvtWvBRT9sjzu3LuaYgoVAL5=WMQ7br6K7Oe=j%2Bw@mail.gmail.com>
References:  <CANtk6SiE=LWvtWvBRT9sjzu3LuaYgoVAL5=WMQ7br6K7Oe=j%2Bw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

小野寛生です。

この件、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+freebsd@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 を見るのでいいのでしょうか。
>
> すみませんが、よろしくお願いします。


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANtk6Sg_5VKpLQ1L=T5uQh2BnFp_djRFaCf-UZ0DW8pVmKMoRw>