vSphere Client의 성능 탭에는 메모리 사용량을 분석하는 데 사용할 수 있는 몇 가지 메트릭이 표시됩니다.
메모리 메트릭 중 일부는 게스트 물리적 메모리를 측정하고 일부는 시스템 메모리를 측정합니다. 예를 들어 성능 메트릭을 사용하여 확인할 수 있는 두 가지 메모리 사용 유형에는 게스트 물리적 메모리와 시스템 메모리가 있습니다. 게스트 물리적 메모리는 부여된 메모리 메트릭(가상 시스템용) 또는 공유 메모리(호스트용)를 사용하여 측정할 수 있습니다. 반면에, 시스템 메모리는 메모리 사용량(가상 시스템용) 또는 공통 공유 메모리(호스트용)을 사용하여 측정합니다. 이러한 메모리 사용 유형의 개념적 차이를 이해하는 것은 각 메트릭의 측정 내용과 그 해석 방식을 파악하는 데 중요합니다.
VMkernel은 게스트 물리적 메모리를 시스템 메모리에 매핑하지만 이러한 매핑이 항상 일대일로 이루어지는 것은 아닙니다. 게스트 물리적 메모리의 여러 영역이 시스템 메모리의 동일한 영역에 매핑되거나(메모리 공유의 경우), 게스트 물리적 메모리의 특정 영역이 시스템 메모리에 매핑되지 않을 수 있습니다(VMkernel이 게스트 물리적 메모리를 스왑 아웃하거나 벌루닝하는 경우). 이러한 상황에서는 개별 가상 시스템 또는 호스트의 게스트 물리적 메모리 사용 및 시스템 메모리 사용에 대한 계산이 다를 수 있습니다.
다음 그림의 예를 고려해 봅니다. 이 그림은 한 호스트에서 실행되는 두 가상 시스템을 보여 줍니다. 각 블록은 4KB의 메모리를 나타내고 각 색상/문자는 한 블록에 있는 서로 다른 데이터 집합을 나타냅니다.
가상 시스템의 성능 메트릭은 다음과 같이 결정될 수 있습니다.
- 가상 시스템 1에 부여된 메모리(시스템 메모리에 매핑되는 게스트 물리적 메모리의 양)를 결정하려면 가상 시스템 1에서 시스템 메모리에 대한 화살표가 있는 게스트 물리적 메모리의 블록 수를 세어서 4KB를 곱합니다. 화살표가 있는 블록이 5개이므로 부여된 메모리는 20KB입니다.
- 메모리 사용량은 가상 시스템에 할당된 시스템 메모리의 양으로, 공유 메모리로 인해 절약되는 메모리를 감안합니다. 먼저 가상 시스템 1의 게스트 물리적 메모리로부터 화살표를 받는 시스템 메모리의 블록 수를 셉니다. 이러한 블록은 3개지만 그중 하나는 가상 시스템 2와 공유됩니다. 따라서 완전한 블록 2개와 1/2 블록을 더하고 여기에 4KB를 곱하면 메모리 사용량은 총 10KB가 됩니다.
- 호스트의 공유 메모리는 각 가상 시스템의 공유 메모리를 합한 것입니다. 공유 메모리를 계산하려면 각 가상 시스템의 게스트 물리적 메모리를 기준으로 시스템 메모리 블록(해당 시스템 메모리 블록은 둘 이상의 화살표를 받아야 함)을 가리키는 화살표가 있는 블록 수를 셉니다. 이 예에서는 이러한 블록이 6개이므로 호스트의 공유 메모리는 24KB입니다.
- 공통 공유 메모리는 가상 시스템에 의해 공유되는 시스템 메모리의 양입니다. 공통 메모리를 결정하려면 시스템 메모리를 기준으로 둘 이상의 화살표가 가리키는 블록 수를 셉니다. 이러한 블록은 3개이므로 공통 공유 메모리는 12KB입니다.
게스트 물리적 메모리와 시스템 메모리를 측정하는 메모리 메트릭은 서로 모순되는 것처럼 보입니다. 사실 이들 메트릭은 가상 시스템의 메모리 사용량을 서로 다른 측면에서 측정합니다. 이들 메트릭의 차이점을 이해함으로써 성능 문제를 진단하는 데 이를 보다 잘 사용할 수 있습니다.