Hyper-V 자원 이용률 확인하기-Resource Pool


참고: https://blogs.technet.microsoft.com/koalra/2012/07/19/windows-server-2012-hyper-v-charging/

위의 링크 자료는  Microsoft  백승주 부장 블로그 자료이다. 아래 내용은 그 내용중 일부만을 발췌한 것이다.

“VM 단위의 사용량 측정을 위해서는 PowerShell의 Cmdlet을 이용해야 합니다. Enable-VMResourceMeteringDisable-VMResourceMeteringReset-VMResourceMetering이 이에 해당됩니다. 사용량 측정 단위의 최소는 VM 단위이며, VM내 특정한 속성(프로세서, 메모리, 네트워크, 하드 디스크)등만 뽑아낼 수도 있습니다. 더불어, 여러 자원을 묶어서 풀(Pool)형태로 제공하는 옵션도 당연히 제공됩니다.

ResourceMetering에서 살펴보는 값은 아래와 같습니다.

  • Average CPU usage, measured in megahertz over a period of time.
  • Average physical memory usage, measured in megabytes.
  • Minimum memory usage (lowest amount of physical memory).
  • Maximum memory usage (highest amount of physical memory).
  • Maximum amount of disk space allocated to a virtual machine.
  • Total incoming network traffic, measured in megabytes, for a virtual network adapter.
  • Total outgoing network traffic, measured in megabytes, for a virtual network adapter.

 

Windows Server 2012 R2의 Hyper-V의 Numa 기술 소개


참고: https://blogs.technet.microsoft.com/koalra/2012/11/08/windows-server-2012-hyper-v-64-vnuma/

여기에 유익한 내용이 있다. 아래는 위의 내용 중 일부이다. (Microsoft 백승주 부장 글 일부 발췌)

“Windows Server 2012의 Hyper-V는 CPU 코어 증가에 따른 메모리 처리에 병목을 막기 위한 기술인 NUMA(Non-Uniform Memory Access)를 가상 머신에서 적절히 사용할 수 있게 구성할 수 있다”

“NUMA는 CPU 코어와 사용 가능한 메모리를 노드(Node)라는 이름으로 묶고, 해당 노드내 코어는 최대한 같은 노드내의 메모리를 사용하게 해주는 기술입니다. 이를 통해 전체 코어들간 메모리를 사용하기 위해 접근하는 경쟁하는 병목 현상을 줄일 수 있게 됩니다. 물론 같은 노드내 메모리를 다 사용했을 경우엔, 원격 노드의 메모리를 사용할 수도 있습니다. ”

“Hyper-V는 NUMA의 노드 구조가 어떻게 만들어져 있고, 노드별로 몇개의 코어와 얼마의 메모리가 묶여 있는지를 알아야 합니다. 이를 잘 쪼개서, 최대한 같은 노드내에서 가상 머신이 코어와 메모리를 할당받을 수 있게 한다는 의미입니다. 이 NUMA 구조를 입력해주는 가상 머신의 설정이 있습니다. 메모리에 대한 접근은 프로세서 별로 처리되기에, 단일 NUMA 노드에 할당되는 코어와 메모리는 프로세서 숫자와 연관이 많습니다.”

동적 메모리는 최소 메모리와 최대 메모리를 지정해주고, VM에서 메모리를 요구하는 형태에 따라, 메모리를 증가/축소시켜주는 기술입니다. 이는 최초 NUMA 노드 구성을 불가능하게 하기에, 동적 메모리를 사용하는 경우에는 VM 설정에서 경고가 나옵니다. NUMA가 아닌, UMA로 구성된다고… 당연히 성능이 떨어지겠죠. “