7.4.2. 메모리 매개변수


OVS-DPDK에서는 다음 메모리 매개변수를 사용합니다.

OvsDpdkMemoryChannels

NUMA 노드당 CPU에 메모리 채널을 매핑합니다. OvsDpdkMemoryChannels 매개변수는 Open vSwitch에서 other_config:dpdk-extra="-n <value>" 값으로 사용합니다.

  • dmidecode -t 메모리 또는 하드웨어 설명서를 사용하여 사용 가능한 메모리 채널 수를 확인합니다.
  • ls /sys/devices/system/node/node* -d 를 사용하여 NUMA 노드 수를 결정합니다.
  • NUMA 노드 수로 사용 가능한 메모리 채널 수를 나눕니다.
NovaReservedHostMemory

호스트의 작업에 대해 메모리를 MB 단위로 예약합니다. 이 값은 Compute 노드에서 nova.confreserved_host_memory_mb 값으로 사용됩니다.

  • 권장 정적 값은 4096MB입니다.
OvsDpdkSocketMemory

NUMA 노드당 hugepage 풀에서 사전 할당할 메모리 양을 MB 단위로 지정합니다. 이 값은 Open vSwitch에서 other_config:dpdk-socket-mem 값으로 사용됩니다.

  • 쉼표로 구분된 목록으로 을 제공합니다. NUMA 노드의 각 NIC의 MTU 값에서 OvsDpdkSocketMemory 값을 계산합니다.
  • DPDK NIC가 없는 NUMA 노드의 경우 1024MB(1GB)의 정적 권장 사항을 사용하십시오.
  • 다음 방정식은 OvsDpdkSocketMemory 의 값을 근사합니다.

    • MEMORY_REQD_PER_MTU = (ROUNDUP_PER_MTU + 800) * (4096 * 64) Bytes

      • 800은 오버헤드 값입니다.
      • 4096 * 64는 mempool의 패킷 수입니다.
  • NUMA 노드에 설정된 각 MTU 값에 대해 MEMORY_REQD_PER_MTU를 추가하고 버퍼로 512MB를 추가합니다. 값을 1024의 수로 반올림합니다.
참고

MTU 크기가 1500이 아닌 경우 /var/log/messages메모리 풀 오류 메시지를 생성하지 못할 수 있습니다. 인스턴스 시작 시 발생하는 경우 이 오류 메시지는 무시해도 됩니다. 이 메시지를 방지하려면 1500 MTU에 대한 추가 OvsDpdkSocketMemory 양을 OvsDpdkSocketMemory 계산에 추가합니다.

샘플 계산 - MTU 2000 및 MTU 9000

DPDK NIC dpdk0 및 dpdk1은 동일한 NUMA 노드 0에 있으며 MTUs 9000 및 2000으로 구성됩니다. 필요한 메모리를 파생하기 위한 샘플 계산은 다음과 같습니다.

  1. MTU 값을 가장 가까운 1024바이트로 반올림합니다.

    The MTU value of 9000 becomes 9216 bytes.
    The MTU value of 2000 becomes 2048 bytes.
  2. 반올림된 바이트 값에 따라 각 MTU 값에 필요한 메모리를 계산합니다.

    Memory required for 9000 MTU = (9216 + 800) * (4096*64) = 2625634304
    Memory required for 2000 MTU = (2048 + 800) * (4096*64) = 746586112
  3. 필요한 결합된 총 메모리(바이트)를 계산합니다.

    2625634304 + 746586112 + 536870912 = 3909091328 bytes.

    이 계산은 ( 9000개의 MTU 필요) + ( 2000의 MTU에 필요한 메모리) + (512MB 버퍼)를 나타냅니다.

  4. 필요한 총 메모리를 MB로 변환합니다.

    3909091328 / (1024*1024) = 3728 MB.
  5. 이 값을 가장 가까운 1024로 반올림합니다.

    3724 MB rounds up to 4096 MB.
  6. 이 값을 사용하여 OvsDpdkSocketMemory 를 설정합니다.

        OvsDpdkSocketMemory: “4096,1024”

샘플 계산 - MTU 2000

DPDK NIC dpdk0 및 dpdk1은 동일한 NUMA 노드 0에 있으며 각각 MTUs 2000 및 2000으로 구성됩니다. 필요한 메모리를 파생하기 위한 샘플 계산은 다음과 같습니다.

  1. MTU 값을 가장 가까운 1024바이트로 반올림합니다.

    The MTU value of 2000 becomes 2048 bytes.
  2. 반올림된 바이트 값에 따라 각 MTU 값에 필요한 메모리를 계산합니다.

    Memory required for 2000 MTU = (2048 + 800) * (4096*64) = 746586112
  3. 필요한 결합된 총 메모리(바이트)를 계산합니다.

    746586112 + 536870912 = 1283457024 bytes.

    이 계산은 (2000년 MTU에 필요한 메모리) + (512MB 버퍼)를 나타냅니다.

  4. 필요한 총 메모리를 MB로 변환합니다.

    1283457024 / (1024*1024) = 1224 MB.
  5. 이 값을 가장 가까운 1024로 반올림합니다.

    1224 MB rounds up to 2048 MB.
  6. 이 값을 사용하여 OvsDpdkSocketMemory 를 설정합니다.

        OvsDpdkSocketMemory: “2048,1024”
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동