17.4.2. 명령줄 인터페이스를 사용하여 가상 머신 메모리 추가 및 제거

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

사전 요구 사항

  • 게스트 OS는 메모리 balloon 드라이버를 실행하고 있습니다. 이를 확인하려면 다음을 수행하십시오.

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

      # virsh dumpxml testguest | grep memballoon
      <memballoon model='virtio'>
          </memballoon>

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

    2. 게스트 OS에서 볼론 드라이버가 설치되어 있는지 확인합니다.

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

절차

  1. 선택 사항: 최대 메모리와 현재 VM에 사용된 메모리에 대한 정보를 가져옵니다. 이는 변경 사항에 대한 기준선 역할을 하고 확인에도 적용됩니다.

    # virsh dominfo testguest
    Max memory:     2097152 KiB
    Used memory:    2097152 KiB
  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.

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

    주의

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

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

    # virsh setmem testguest --current 2048

검증

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

    # virsh dominfo testguest
    Max memory:     4194304 KiB
    Used memory:    2097152 KiB
  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