2016-11-10 10 views
0

가상 머신을 실행하는 Docker 컨테이너가 여러 개 있습니다. 다른 리소스에 실제로 어떠한 스트레스도주지 않고 모든 컨테이너에서 디스크 I/O 처리량을 20 %로 균일하게 조절하고 싶습니다. (즉, CPU)를 컴퓨터에 설치하십시오.컨테이너의 디스크 I/O 비율 줄이기

각 컨테이너의 무게를 변경하여 cgroup을 변경할 수 있음을 알고 있습니다. 그러나 Docker 컨테이너에는 특정 리소스의 사용을 제한하더라도 해당 리소스에 대해 다른 프로세스가 경쟁하고 있지 않으면이 제한을 초과하여 사용한다는 속성이 있습니다 (이 설정을 해제하는 방법이있을 수 있습니다).

한 가지 해결책은 단순히 임의의 디스크 읽기 (예 : dd)를 만드는 다른 프로세스를 시작하는 것입니다. 그러나 dd는 중요한 CPU를 사용하기 때문에 바람직하지 않습니다.

내 질문을 요약하면 다른 자원을 사용하지 않고 디스크 읽기 사용률을 조절할 수있는 방법을 찾고 있습니다.

+0

을 중복으로 기타 [질문] 계속 (http://stackoverflow.com/questions/40277920/which-device-docker-container-writing-to)? – 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