2016-11-10 4 views
0

仮想マシンを実行するDockerコンテナがいくつかあります。ディスクI/Oスループットを他のリソースに実際に負荷をかけることなくすべてのコンテナに均等に20% (すなわち、CPU)を機械上に置く。コンテナのディスクI/O率を下げる

各コンテナの重量を変更することでcgroupを変更できることを理解しています。ただし、Dockerコンテナには、特定のリソースの使用を制限しても、そのリソースに対して他のプロセスが競合していない場合は、その制限を超えて使用されるというプロパティがあります(おそらくこれをオフにする方法があります)。

解決策の1つは、任意のディスク読み取り(ddなど)を行う別のプロセスを起動することです。しかし、ddも重要なCPUを使用するため、これは望ましくありません。

私の質問を要約すると、他のリソースを使用せずにディスクの読み取りの利用を制限する方法を探しています。

+0

としてこれをマークすることができますあなたの他の[質問]の継続(http://stackoverflow.com/questions/40277920/which-device-docker-container-writingtoto)? – R0MANARMY

+0

しかし、より具体的な問題について – user3249763

答えて

0

同様の質問があります。hereあなたのケースでは--device-read-bpsが使えますか?

--device-read-bpsフラグは、デバイスからの読み取り速度(バイト/秒)を制限します。たとえば、このコマンドは、コンテナを作成し、/ dev/sdaにから毎秒1メガバイトに読み出し速度を制限します:

$ docker run -it --device-read-bps /dev/sda:1mb ubuntu

そうならば、我々はおそらく重複し

+0

私はコンテナを再起動せずにこれを行いたいと思います。 「ドッカーの更新」は、blk-weightの指定のみをサポートしているようです。また、どのデバイスにコンテナを書き込むのかはわかりません。 – user3249763