17.4. 가상 머신 메모리 구성


VM(가상 머신)의 성능을 개선하기 위해 VM에 추가 호스트 RAM을 할당할 수 있습니다. 마찬가지로 호스트 메모리를 다른 VM 또는 작업에 할당할 수 있도록 VM에 할당된 메모리 양을 줄일 수 있습니다.

이러한 작업을 수행하려면 웹 콘솔 또는 명령줄을 사용할 수 있습니다.

17.4.1. 메모리 과다 할당

KVM 하이퍼바이저에서 실행되는 VM(가상 머신)에는 할당된 물리적 RAM의 전용 블록이 없습니다. 대신 각 VM은 요청된 경우에만 호스트의 Linux 커널이 메모리를 할당하는 Linux 프로세스로 작동합니다. 또한 호스트의 메모리 관리자는 VM의 메모리를 자체 실제 메모리와 스왑 공간 간에 이동할 수 있습니다. 메모리 과다 할당이 활성화된 경우 커널은 VM 프로세스에서 요청된 메모리 양이 완전히 사용되지 않기 때문에 VM에서 요청하는 것보다 적은 실제 메모리를 할당하도록 결정할 수 있습니다.

기본적으로 메모리 과다 할당은 Linux 커널에서 활성화되며 커널은 VM 요청에 대한 안전한 양의 메모리 과다 할당을 추정합니다. 그러나 메모리 집약적인 워크로드에 대해 자주 과다 할당을 통해 시스템이 불안정해질 수 있습니다.

메모리 과다 할당을 사용하려면 호스트 물리적 머신에 충분한 스왑 공간을 할당해야 하며 호스트 물리 머신 프로세스에 충분한 메모리를 수용할 수 있습니다. 권장되는 기본 스왑 공간 크기에 대한 지침은 다음을 참조하십시오. Red Hat 플랫폼에 권장되는 스왑 크기는 무엇입니까?

호스트에서 메모리 부족을 처리하는 권장 방법:

  • VM당 메모리 할당.
  • 호스트에 더 많은 물리적 메모리를 추가합니다.
  • 더 큰 스왑 공간을 사용합니다.
중요

VM이 자주 스왑되는 경우 속도가 느려집니다. 또한 오버 커밋으로 인해 시스템이 OOM(메모리 부족)이 발생하여 Linux 커널이 중요한 시스템 프로세스를 종료할 수 있습니다.

장치 할당에서는 메모리 과다 할당이 지원되지 않습니다. 장치 할당을 사용 중인 경우 할당된 장치에서 직접 메모리 액세스(DMA)를 활성화하려면 모든 가상 머신 메모리를 정적으로 할당해야 합니다.

17.4.2. 웹 콘솔을 사용하여 가상 머신 메모리 추가 및 제거

VM(가상 머신)의 성능을 개선하거나 사용 중인 호스트 리소스를 확보하기 위해 웹 콘솔을 사용하여 VM에 할당된 메모리 양을 조정할 수 있습니다.

사전 요구 사항

  • RHEL 8 웹 콘솔을 설치했습니다.
  • cockpit 서비스를 활성화했습니다.
  • 사용자 계정이 웹 콘솔에 로그인할 수 있습니다.

    자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.

  • 게스트 OS는 메모리 balloon 드라이버를 실행하고 있습니다. 이러한 경우를 확인하려면 다음을 수행합니다.

    1. VM 구성에 memballoon 장치가 포함되어 있는지 확인합니다.

      # virsh dumpxml testguest | grep memballoon
      <memballoon model='virtio'>
          </memballoon>
      Copy to Clipboard Toggle word wrap

      이 명령이 출력을 표시하고 모델이 none 으로 설정되지 않으면 memballoon 장치가 있습니다.

    2. 게스트 OS에서 balloon 드라이버가 실행 중인지 확인합니다.

      • Windows 게스트에서 드라이버는 virtio-win 드라이버 패키지의 일부로 설치됩니다. 자세한 내용은 Windows 가상 머신용 KVM 반가상화 드라이버 설치를 참조하십시오.
      • Linux 게스트에서는 일반적으로 드라이버가 기본적으로 포함되어 있으며 memballoon 장치가 있을 때 활성화됩니다.
  • 웹 콘솔 VM 플러그인이 시스템에 설치되어 있습니다.

프로세스

  1. 선택 사항: VM에 대해 최대 메모리 및 현재 사용된 메모리에 대한 정보를 가져옵니다. 이는 변경 사항 및 확인을 위한 기준 역할을 합니다.

    # virsh dominfo testguest
    Max memory:     2097152 KiB
    Used memory:    2097152 KiB
    Copy to Clipboard Toggle word wrap
  1. RHEL 8 웹 콘솔에 로그인합니다.

    자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.

  2. 가상 머신 인터페이스에서 표시하려는 정보가 있는 VM을 클릭합니다.

    VM의 그래픽 인터페이스에 액세스하기 위한 선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 개요 섹션이 포함된 새 페이지가 열립니다.

  3. 개요 창에서 메모리 행 옆에 있는 편집을 클릭합니다.

    메모리 조정 대화 상자가 표시됩니다.

  4. 선택한 VM의 가상 메모리를 구성합니다.

    • 최대 할당 - VM이 프로세스에 사용할 수 있는 최대 호스트 메모리 양을 설정합니다. VM을 만들거나 나중에 늘릴 때 최대 메모리를 지정할 수 있습니다. 메모리를 MiB 또는 GiB의 배수로 지정할 수 있습니다.

      VM 종료 시에만 최대 메모리 할당을 조정할 수 있습니다.

    • 현재 할당 - VM에 할당된 실제 메모리 양을 설정합니다. 이 값은 최대 할당보다 작을 수 있지만 초과할 수 없습니다. 해당 프로세스에 대해 VM에서 사용할 수 있는 메모리를 규제하도록 값을 조정할 수 있습니다. 메모리를 MiB 또는 GiB의 배수로 지정할 수 있습니다.

      이 값을 지정하지 않으면 기본 할당은 최대 할당 값입니다.

  5. 저장을 클릭합니다.

    VM의 메모리 할당이 조정됩니다.

17.4.3. 명령줄을 사용하여 가상 머신 메모리 추가 및 제거

VM(가상 머신)의 성능을 개선하거나 사용 중인 호스트 리소스를 확보하기 위해 CLI를 사용하여 memballoon 장치를 사용하여 VM에 할당된 메모리 양을 조정할 수 있습니다.

사전 요구 사항

  • 게스트 OS는 메모리 balloon 드라이버를 실행하고 있습니다. 이러한 경우를 확인하려면 다음을 수행합니다.

    1. VM 구성에 memballoon 장치가 포함되어 있는지 확인합니다.

      # virsh dumpxml testguest | grep memballoon
      <memballoon model='virtio'>
          </memballoon>
      Copy to Clipboard Toggle word wrap

      이 명령이 출력을 표시하고 모델이 none 으로 설정되지 않으면 memballoon 장치가 있습니다.

    2. 게스트 OS에서 ballon 드라이버가 실행 중인지 확인합니다.

      • Windows 게스트에서 드라이버는 virtio-win 드라이버 패키지의 일부로 설치됩니다. 자세한 내용은 Windows 가상 머신용 KVM 반가상화 드라이버 설치를 참조하십시오.
      • Linux 게스트에서는 일반적으로 드라이버가 기본적으로 포함되어 있으며 memballoon 장치가 있을 때 활성화됩니다.

프로세스

  1. 선택 사항: VM에 대해 최대 메모리 및 현재 사용된 메모리에 대한 정보를 가져옵니다. 이는 변경 사항 및 확인을 위한 기준 역할을 합니다.

    # virsh dominfo testguest
    Max memory:     2097152 KiB
    Used memory:    2097152 KiB
    Copy to Clipboard Toggle word wrap
  2. VM에 할당된 최대 메모리를 조정합니다. 이 값을 늘리면 VM의 성능 가능성이 향상되고 값을 줄이면 VM이 호스트의 성능 공간을 줄일 수 있습니다. 이 변경 사항은 종료 VM에서만 수행할 수 있으므로 실행 중인 VM을 조정하려면 재부팅이 필요합니다.

    예를 들어 testguest VM에서 사용할 수 있는 최대 메모리를 4096MiB로 변경하려면 다음을 수행합니다.

    # virt-xml testguest --edit --memory memory=4096,currentMemory=4096
    Domain 'testguest' defined successfully.
    Changes will take effect after the domain is fully powered off.
    Copy to Clipboard Toggle word wrap

    실행 중인 VM의 최대 메모리를 늘리려면 VM에 메모리 장치를 연결할 수 있습니다. 이를 메모리 핫 플러그 라고도 합니다. 자세한 내용은 가상 머신에 장치 연결을 참조하십시오.

    주의

    실행 중인 VM(메모리 핫 언플러그라고도 함)에서 메모리 장치를 제거하는 것은 지원되지 않으며 Red Hat에서 사용하지 않는 것이 좋습니다.

  3. 선택 사항: VM에서 현재 사용하는 메모리를 최대 할당까지 조정할 수도 있습니다. 이렇게 하면 최대 VM 할당을 변경하지 않고 다음 재부팅까지 VM에서 보유한 메모리 로드가 조정됩니다.

    # virsh setmem testguest --current 2048
    Copy to Clipboard Toggle word wrap

검증

  1. VM에서 사용하는 메모리가 업데이트되었는지 확인합니다.

    # virsh dominfo testguest
    Max memory:     4194304 KiB
    Used memory:    2097152 KiB
    Copy to Clipboard Toggle word wrap
  2. 선택 사항: 현재 VM 메모리를 조정하면 VM의 메모리 balloon 통계를 가져와 메모리 사용을 얼마나 효과적으로 규제하는지 평가할 수 있습니다.

     # virsh domstats --balloon testguest
    Domain: 'testguest'
      balloon.current=365624
      balloon.maximum=4194304
      balloon.swap_in=0
      balloon.swap_out=0
      balloon.major_fault=306
      balloon.minor_fault=156117
      balloon.unused=3834448
      balloon.available=4035008
      balloon.usable=3746340
      balloon.last-update=1587971682
      balloon.disk_caches=75444
      balloon.hugetlb_pgalloc=0
      balloon.hugetlb_pgfail=0
      balloon.rss=1005456
    Copy to Clipboard Toggle word wrap

17.4.4. 대규모 페이지를 사용하도록 가상 머신 구성

특정 사용 사례에서는 기본 4KiB 메모리 페이지 대신 대규모 페이지를 사용하여 VM(가상 머신)의 메모리 할당을 개선할 수 있습니다. 예를 들어 대규모 페이지는 데이터베이스 서버와 같은 메모리 사용률이 높은 VM의 성능을 향상시킬 수 있습니다.

사전 요구 사항

  • 호스트는 메모리 할당에 대규모 페이지를 사용하도록 구성됩니다. 자세한 내용은 다음을 참조하십시오. 부팅 시 HugeTLB 구성

프로세스

  1. 실행 중인 경우 선택한 VM을 종료합니다.
  2. 1GiB 대규모 페이지를 사용하도록 VM을 구성하려면 편집할 VM의 XML 정의를 엽니다. 예를 들어 testguest VM을 편집하려면 다음 명령을 실행합니다.

    # virsh edit testguest
    Copy to Clipboard Toggle word wrap
  3. XML 정의의 < memoryBacking&gt; 섹션에 다음 행을 추가합니다.

    <memoryBacking>
      <hugepages>
        <page size='1' unit='GiB'/>
      </hugepages>
    </memoryBacking>
    Copy to Clipboard Toggle word wrap

검증

  1. VM을 시작합니다.
  2. 호스트에서 실행 중인 VM에 대규모 페이지를 성공적으로 할당했는지 확인합니다. 호스트에서 다음 명령을 실행합니다.

    # cat /proc/meminfo | grep Huge
    
    HugePages_Total:    4
    HugePages_Free:     2
    HugePages_Rsvd:     1
    Hugepagesize:       1024000 kB
    Copy to Clipboard Toggle word wrap

    무료 및 예약된 대규모 페이지(HugePages_Free + HugePages_Rsvd)를 함께 추가하면 결과는 대규모 페이지 수(HugePages_Total)보다 작아야 합니다. 차이점은 실행 중인 VM에서 사용하는 대규모 페이지 수입니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat