26.3. TuneD isolated_cores 옵션을 사용하여 CPU 분리
CPU 격리를 위한 초기 메커니즘은 커널 부팅 명령줄에 boot 매개변수 isolcpus=cpulist 를 지정하는 것입니다. RHEL for Real Time에 대해 이 작업을 수행하는 권장 방법은 TuneD 데몬과 tuned-profiles-realtime 패키지를 사용하는 것입니다.
tuned-profiles-realtime 버전 2.19 이상에서 기본 제공 함수 calc_isolated_cores 는 초기 CPU 설정을 자동으로 적용합니다. /etc/tuned/realtime-variables.conf 구성 파일에는 기본 변수 콘텐츠가 isolated_cores=$f:calc_isolated_cores:2} 로 포함됩니다.
기본적으로 calc_isolated_cores 는 하우스키핑을 위해 소켓당 하나의 코어를 예약하고 나머지 항목을 격리합니다. 기본 구성을 변경해야 하는 경우 /etc/tuned/realtime-variables.conf 구성 파일에서 isolated_cores=${f:calc_isolated_cores:2} 행을 주석 처리하고 TuneD isolated_cores 옵션을 사용하여 CPU 격리 단계를 따릅니다.
사전 요구 사항
-
TuneD및tuned-profiles-realtime패키지가 설치됩니다. - 시스템에 대한 root 권한이 있습니다.
프로세스
-
root 사용자로 텍스트 편집기에서
/etc/tuned/realtime-variables.conf를 엽니다. isolated_cores=cpulist를 설정하여 분리할 CPU를 지정합니다. CPU 번호와 범위를 사용할 수 있습니다. 예를 들면 다음과 같습니다.isolated_cores=0-3,5,7이는 코어 0, 1, 2, 3, 5 및 7을 격리합니다.
8개의 코어가 있는 2소켓 시스템에서는 NUMA 노드 0-3이 있고 NUMA 노드 1에는 코어 4-7이 있어 멀티 스레드 애플리케이션에 두 개의 코어를 할당합니다.
isolated_cores=4,5이렇게 하면 사용자 공간 스레드가 CPU 4 및 5에 할당되지 않습니다.
관련이 없는 애플리케이션의 다른 NUMA 노드에서 CPU를 선택하려면 다음을 지정합니다.
isolated_cores=0,4이렇게 하면 사용자 공간 스레드가 CPU 0 및 4에 할당되지 않습니다.
tuned-adm유틸리티를 사용하여 실시간TuneD프로필을 활성화합니다.# tuned-adm profile realtime- 변경 사항을 적용하려면 시스템을 재부팅합니다.
검증
커널 명령줄에서
isolcpus매개변수를 검색합니다.$ cat /proc/cmdline | grep isolcpus BOOT_IMAGE=/vmlinuz-6.12.0-55.9.1.el10_0.x86_64 root=/dev/mapper/rhel_foo-root ro crashkernel=auto rd.lvm.lv=rhel_foo/root rd.lvm.lv=rhel_foo/swap console=ttyS0,115200n81 isolcpus=0,4