14.3. 가상 머신 메모리 구성
VM(가상 시스템)의 성능을 개선하기 위해 VM에 추가 호스트 RAM을 할당할 수 있습니다. 마찬가지로 호스트 메모리를 다른 VM 또는 작업에 할당할 수 있도록 VM에 할당된 메모리 양을 줄일 수 있습니다.
이러한 작업을 수행하려면 웹 콘솔 또는 명령줄 인터페이스를 사용할 수 있습니다.
14.3.1. 웹 콘솔을 사용하여 가상 머신 메모리 추가 및 제거
VM(가상 머신)의 성능을 개선하거나 사용 중인 호스트 리소스를 확보하려면 웹 콘솔을 사용하여 VM에 할당된 메모리 양을 조정할 수 있습니다.
사전 요구 사항
RHEL 8 웹 콘솔을 설치했습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
게스트 OS는 메모리 balloon 드라이버를 실행하고 있습니다. 이러한 경우인지 확인하려면 다음을 수행합니다.
VM 구성에
memballoon
장치가 포함되어 있는지 확인합니다.# virsh dumpxml testguest | grep memballoon <memballoon model='virtio'> </memballoon>
이 명령은 출력을 표시하며 모델을
none
으로 설정하지 않으면memballoon
장치가 있습니다.guest OS에서 balloon 드라이버가 실행 중인지 확인합니다.
-
Windows 게스트에서 드라이버는
virtio-win
드라이버 패키지의 일부로 설치됩니다. 자세한 내용은 Windows 가상 머신용 반가상화 KVM 드라이버 설치를 참조하십시오. -
Linux 게스트에서는 일반적으로 드라이버가 기본적으로 포함되며
memballoon
장치가 있는 경우 활성화됩니다.
-
Windows 게스트에서 드라이버는
- 웹 콘솔 VM 플러그인이 시스템에 설치되어 있습니다.
절차
선택 사항: 최대 메모리와 현재 VM에 사용된 메모리에 대한 정보를 가져옵니다. 그러면 변경 사항과 확인을 위한 기준선으로 사용할 수 있습니다.
# virsh dominfo testguest Max memory: 2097152 KiB Used memory: 2097152 KiB
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
VM의 그래픽 인터페이스에 액세스하기 위한 선택한 VM 및 콘솔 섹션에 대한 기본 정보가 포함된 Overview(개요) 섹션이 포함된 새 페이지가 열립니다.
Overview(개요) 창에서
Memory(메모리
) 행 있는 Edit(편집)를 클릭합니다.Memory Adjustment(메모리 조정
) 대화 상자가 표시됩니다.선택한 VM의 가상 메모리를 구성합니다.
max allocation (최대 할당) - VM이 프로세스에 사용할 수 있는 최대 호스트 메모리 양을 설정합니다. VM을 생성할 때 최대 메모리를 지정하거나 나중에 늘릴 수 있습니다. 메모리를 MiB 또는 GiB의 배수로 지정할 수 있습니다.
메모리 할당 최대 조정은 종료 VM에서만 가능합니다.
current allocation (현재 할당) - VM에 할당된 실제 메모리 양을 설정합니다. 이 값은 최대 할당보다 작을 수 있지만 초과할 수는 없습니다. 해당 프로세스에 대해 VM에서 사용할 수 있는 메모리를 제어하도록 값을 조정할 수 있습니다. 메모리를 MiB 또는 GiB의 배수로 지정할 수 있습니다.
이 값을 지정하지 않으면 기본 할당은 최대 할당 값입니다.
VM의 메모리 할당이 조정됩니다.
14.3.2. 명령줄 인터페이스를 사용하여 가상 머신 메모리 추가 및 제거
VM(가상 머신)의 성능을 개선하거나 사용 중인 호스트 리소스를 확보하려면 CLI를 사용하여 VM에 할당된 메모리 양을 조정할 수 있습니다.
사전 요구 사항
게스트 OS는 메모리 balloon 드라이버를 실행하고 있습니다. 이러한 경우인지 확인하려면 다음을 수행합니다.
VM 구성에
memballoon
장치가 포함되어 있는지 확인합니다.# virsh dumpxml testguest | grep memballoon <memballoon model='virtio'> </memballoon>
이 명령은 출력을 표시하며 모델을
none
으로 설정하지 않으면memballoon
장치가 있습니다.ballon 드라이버가 게스트 OS에서 실행 중인지 확인합니다.
-
Windows 게스트에서 드라이버는
virtio-win
드라이버 패키지의 일부로 설치됩니다. 자세한 내용은 Windows 가상 머신용 반가상화 KVM 드라이버 설치를 참조하십시오. -
Linux 게스트에서는 일반적으로 드라이버가 기본적으로 포함되며
memballoon
장치가 있는 경우 활성화됩니다.
-
Windows 게스트에서 드라이버는
절차
선택 사항: 최대 메모리와 현재 VM에 사용된 메모리에 대한 정보를 가져옵니다. 그러면 변경 사항과 확인을 위한 기준선으로 사용할 수 있습니다.
# virsh dominfo testguest Max memory: 2097152 KiB Used memory: 2097152 KiB
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은 크게 권장되지 않습니다.
선택 사항: VM에서 현재 사용 중인 메모리를 최대 할당까지 조정할 수도 있습니다. 이렇게 하면 최대 VM 할당을 변경하지 않고 VM이 호스트에 있는 메모리 부하를 다음 번 재부팅할 때까지 조정합니다.
# virsh setmem testguest --current 2048
검증
VM에서 사용하는 메모리가 업데이트되었는지 확인합니다.
# virsh dominfo testguest Max memory: 4194304 KiB Used memory: 2097152 KiB
선택 사항: 현재 VM 메모리를 조정한 경우 VM의 메모리 증대 통계를 가져와 메모리 사용을 효과적으로 규제하는 방법을 평가할 수 있습니다.
# 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