17.6. 클러스터에 대한 하이퍼스레딩 구성


OpenShift Container Platform 클러스터에 대해 하이퍼스레딩을 구성하려면 성능 프로필의 CPU 스레드를 예약된 CPU 풀이나 격리된 CPU 풀에 구성된 코어와 동일하게 설정합니다.

참고

성능 프로필을 구성한 후 호스트의 하이퍼스레딩 구성을 변경하는 경우 PerformanceProfile YAML에서 CPU 격리예약 필드를 새 구성과 일치하도록 업데이트해야 합니다.

주의

이전에 활성화된 호스트 하이퍼스레딩 구성을 비활성화하면 PerformanceProfile YAML에 나열된 CPU 코어 ID가 올바르지 않을 수 있습니다. 이렇게 잘못된 구성으로 인해 나열된 CPU를 더 이상 찾을 수 없으므로 노드를 사용할 수 없게 될 가능성이 있습니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • OpenShift CLI(oc)를 설치합니다.

프로세스

  1. 구성할 호스트의 모든 CPU에서 실행중인 스레드를 확인합니다.

    클러스터에 로그인하고 다음 명령을 실행하여 호스트 CPU에서 실행중인 스레드를 볼 수 있습니다.

    $ lscpu --all --extended
    Copy to Clipboard Toggle word wrap

    출력 예

    CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ    MINMHZ
    0   0    0      0    0:0:0:0       yes    4800.0000 400.0000
    1   0    0      1    1:1:1:0       yes    4800.0000 400.0000
    2   0    0      2    2:2:2:0       yes    4800.0000 400.0000
    3   0    0      3    3:3:3:0       yes    4800.0000 400.0000
    4   0    0      0    0:0:0:0       yes    4800.0000 400.0000
    5   0    0      1    1:1:1:0       yes    4800.0000 400.0000
    6   0    0      2    2:2:2:0       yes    4800.0000 400.0000
    7   0    0      3    3:3:3:0       yes    4800.0000 400.0000
    Copy to Clipboard Toggle word wrap

    이 예에서는 4개의 물리적 CPU 코어에서 실행 중인 논리 CPU 코어가 8개 있습니다. CPU0 및 CPU4는 물리적 Core0에서 실행되고 CPU1 및 CPU5는 물리적 Core 1에서 실행되고 있습니다.

    또는 특정 물리적 CPU 코어(아래 예에서는 cpu0 )에 설정된 스레드를 보려면 셸 프롬프트를 열고 다음을 실행합니다.

    $ cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_list
    Copy to Clipboard Toggle word wrap

    출력 예

    0-4
    Copy to Clipboard Toggle word wrap

  2. PerformanceProfile YAML에서 분리 및 예약된 CPU를 적용합니다. 예를 들어, 논리 코어 CPU0 및 CPU4를 격리됨으로 설정하고, 논리 코어 CPU1~CPU3 및 CPU5~CPU7을 예약됨으로 설정할 수 있습니다. 예약 및 분리된 CPU를 구성하면 Pod의 인프라 컨테이너는 예약된 CPU를 사용하고 애플리케이션 컨테이너는 분리된 CPU를 사용합니다.

    ...
      cpu:
        isolated: 0,4
        reserved: 1-3,5-7
    ...
    Copy to Clipboard Toggle word wrap
    참고

    예약된 CPU 풀과 격리된 CPU 풀은 겹치지 않아야 하며, 작업자 노드에서 사용 가능한 모든 코어에 걸쳐 있어야 합니다.

중요

대부분의 인텔 프로세서에서는 하이퍼스레딩이 기본적으로 활성화되어 있습니다. 하이퍼스레딩을 활성화하면 특정 코어에서 처리하는 모든 스레드는 분리되거나 동일한 코어에서 처리되어야 합니다.

하이퍼스레딩이 활성화된 경우, 모든 보장된 포드는 여러 개의 동시 멀티스레딩(SMT) 수준을 사용해야 포드가 실패할 수 있는 "노이즈 이웃" 상황을 방지할 수 있습니다. 자세한 내용은 정적 정책 옵션을 참조하세요.

17.6.1. 저지연 애플리케이션에 대한 하이퍼스레딩 비활성화

저지연 처리를 위해 클러스터를 구성하는 경우 클러스터를 배포하기 전에 하이퍼스레딩을 비활성화할지 여부를 고려하세요. 하이퍼스레딩을 비활성화하려면 다음 단계를 수행하세요.

  1. 하드웨어 및 토폴로지에 적합한 성능 프로필을 생성합니다.
  2. nosmt를 추가 커널 인수로 설정합니다. 다음 성능 프로파일 예에서는 이 설정에 대해 설명합니다.

    apiVersion: performance.openshift.io/v2
    kind: PerformanceProfile
    metadata:
      name: example-performanceprofile
    spec:
      additionalKernelArgs:
        - nmi_watchdog=0
        - audit=0
        - mce=off
        - processor.max_cstate=1
        - idle=poll
        - intel_idle.max_cstate=0
        - nosmt
      cpu:
        isolated: 2-3
        reserved: 0-1
      hugepages:
        defaultHugepagesSize: 1G
        pages:
          - count: 2
            node: 0
            size: 1G
      nodeSelector:
        node-role.kubernetes.io/performance: ''
      realTimeKernel:
        enabled: true
    Copy to Clipboard Toggle word wrap
    참고

    예약 및 분리된 CPU를 구성하면 Pod의 인프라 컨테이너는 예약된 CPU를 사용하고 애플리케이션 컨테이너는 분리된 CPU를 사용합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat