검색

24.3. CPU 대역폭을 조정하여 애플리케이션 CPU 시간 분배 제어

download PDF

CPU 시간을 특정 cgroup 트리의 애플리케이션에 분산하기 위해 CPU 컨트롤러 의 관련 파일에 값을 할당해야 합니다.

사전 요구 사항

절차

  1. 제어 그룹 내에서 리소스 제한을 수행하도록 CPU 대역폭을 구성합니다.

    # echo "200000 1000000" > /sys/fs/cgroup/Example/tasks/cpu.max

    첫 번째 값은 마이크로초(마이크로)에서 허용된 시간 할당량으로, 하위 그룹의 모든 프로세스를 한 기간 동안 전체적으로 실행할 수 있습니다. 두 번째 값은 기간 길이를 지정합니다.

    단일 기간 동안 제어 그룹의 프로세스가 이 할당량에서 지정한 시간을 집합적으로 고갈하면 나머지 기간 동안 제한되고 다음 기간 동안 실행되지 않습니다.

    이 명령은 CPU 시간 분배 제어를 설정하여 /sys/fs/cgroup/Example/tasks 하위 그룹의 모든 프로세스가 1초마다 0.2초 동안만 CPU에서 실행될 수 있습니다. 즉, 1초의 5분의 1이 됩니다.

  2. 선택적으로 시간 할당량을 확인합니다.

    # cat /sys/fs/cgroup/Example/tasks/cpu.max
    200000 1000000
  3. 애플리케이션의 PID를 Example/tasks 하위 그룹에 추가합니다.

    # echo "34578" > /sys/fs/cgroup/Example/tasks/cgroup.procs
    # echo "34579" > /sys/fs/cgroup/Example/tasks/cgroup.procs

    예제 명령은 원하는 애플리케이션이 Example/tasks 하위 그룹의 구성원이 되어 이 하위 그룹에 대해 구성된 CPU 시간 배포를 초과하지 않도록 합니다.

검증

  1. 애플리케이션이 지정된 제어 그룹에서 실행되는지 확인합니다.

    # cat /proc/34578/cgroup /proc/34579/cgroup
    0::/Example/tasks
    0::/Example/tasks

    위의 출력은 Example/tasks 하위 그룹에서 실행되는 지정된 애플리케이션의 프로세스를 보여줍니다.

  2. 제한된 애플리케이션의 현재 CPU 사용량을 검사합니다.

    # top
    top - 11:13:53 up 23:10,  1 user,  load average: 0.26, 1.33, 1.66
    Tasks: 104 total,   3 running, 101 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  3.0 us,  7.0 sy,  0.0 ni, 89.5 id,  0.0 wa,  0.2 hi,  0.2 si,  0.2 st
    MiB Mem :   3737.4 total,   3312.6 free,    133.4 used,    291.4 buff/cache
    MiB Swap:   4060.0 total,   4060.0 free,      0.0 used.   3376.0 avail Mem
    
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      34578 root      20   0   18720   1756   1468 R  10.0   0.0  37:36.13 sha1sum
      34579 root      20   0   18720   1772   1480 R  10.0   0.0  37:41.22 sha1sum
          1 root      20   0  186192  13940   9500 S   0.0   0.4   0:01.60 systemd
          2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd
          3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
          4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
    ...

    PID 34578 및 PID 34 579 의 CPU 사용량이 10%로 감소했습니다. Example/tasks 하위 그룹은 프로세스를 전체적으로 CPU 시간의 20%로 조정합니다. 제어 그룹에는 두 개의 프로세스가 있으므로 각각 CPU 시간의 10%를 활용할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.