cgroup에서 blkio 공유를 계산하는 방법은 무엇입니까?

cgroup에서 blkio 공유를 계산하는 방법은 무엇입니까?

현재 저는 기본 커널 3.2.60-1+deb7u3 및 cgroups blkio 컨트롤러와 함께 Debian Wheezy를 사용하여 테스트 시나리오를 설정하려고 합니다. blkio.weight 계산이 작동하지 않습니다.

내 설정은 다음과 같습니다. /sys/fs/cgroup에 기본 blkio.weight가 1000인 루트 cgroup이 있습니다. 이제 2개의 하위 그룹(/sys/fs/cgroup/grp1 @ blkio.weight:800, /sys)을 만들었습니다. /fs/cgroup/grp2 @ blkio.weight:200) 동일한 물리적 장치에 있는 2개의 서로 다른 LVM 볼륨에 기록하여 다음 fio 결과를 얻습니다.

grp1:
  read : io=3276.2MB, bw=1224.8KB/s, iops=400 , runt=2740822msec
  write: io=839516KB, bw=313651 B/s, iops=99 , runt=2740822msec

grp2:
  read : io=3278.3MB, bw=1123.9KB/s, iops=365 , runt=2987186msec
  write: io=837351KB, bw=287041 B/s, iops=91 , runt=2987186msec

그러나 이것은 분명히 80%~20%의 점유율은 아닙니다. 다른 질문은: 여전히 blkio.weight가 1000이라는 것입니다. 이 값은 어떻게 사용됩니까?

답변1

  1. 그만큼cgroup 문서다음 명령을 사용하여 모든 파일 시스템 버퍼와 사용 가능한 페이지 캐시, 덴트리 및 아이노드를 플러시할 것을 제안합니다.

    ~]# 동기화

    ~]# 에코 3 > /proc/sys/vm/drop_caches

  2. IOPS의 최고점에 도달하지 않았을 수도 있습니다. 어떤 장치를 사용하고 있나요? 귀하의 장치에 400 iops가 정상입니까, 아니면 낮습니까? 장치의 최대 IOPS에 도달하려면 FIO에서 io-length 및 num-jobs를 늘리세요.

관련 정보