본문 바로가기
카테고리 없음

The balloon driver, vmmemctl은 고정된 페이지를 인식하지 못합니다.

by 밍사원 2025. 2. 20.
반응형

The balloon driver, vmmemctl, is unaware of pinned pages(Article ID : 340369)

 

The balloon driver, vmmemctl, is unaware of pinned pages

--> The balloon driver, vmmemctl, is unaware of pinned pages book Article ID: 340369 calendar_today Updated On: Products VMware VMware Desktop Hypervisor VMware vSphere ESXi Show More Show Less Issue/Introduction The balloon driver shipped with VMware Tool

knowledge.broadcom.com

VMware Tools와 함께 제공되는 balloon 드라이버인 vmmemctl은 게스트 운영 체제의 고정된 페이지(일명 '고정 페이지')를 인식하지 못합니다. 만약 최대 balloon 크기를 고정된 페이지를 고려하여 조정하지 않으면, balloon이 과도하게 팽창하여 게스트 운영 체제 내에서 메모리 부족(out-of-memory) 상황을 초래할 수 있습니다.

 

페이지가 고정되는 경우:

특정 애플리케이션은 메모리를 고정하여 운영 체제가 이 메모리를 디스크로 스왑하지 않도록 설정하는 것이 유리합니다. Windows 시스템의 관리자는 '메모리를 페이지 잠금' 권한을 통해 페이지를 고정할 수 있으며, Windows 애플리케이션은 VirtualLock() 함수를 사용할 수 있습니다. Linux 애플리케이션은 mlock(2) 또는 mmap(2)MAP_LOCKED 플래그를 사용하여 페이지를 고정할 수 있습니다. 다른 운영 체제도 유사한 기능을 제공합니다. 일반적으로 큰 페이지(2MB 또는 4MB)는 기본적으로 고정됩니다.

호스트에서 메모리를 오버커밋하고 게스트 환경에서 메모리를 고정하는 경우, 아래의 해결 방법을 고려해야 합니다.

 

해결 방법:

고정된 페이지를 사용하는 시스템의 관리자는 가상 머신의 .vmx 구성 파일에서 sched.mem.maxmemctl 매개변수를 사용하여 최대 balloon 크기(메가바이트 단위)를 지정해야 합니다. 이렇게 하면 시스템 전체의 기본값을 재정의할 수 있습니다.

예를 들어, 다음과 같은 가상 머신이 있다고 가정해봅시다:

  • 게스트 메모리: 4GB
  • 고성능 사용자 애플리케이션을 위해 2GB가 고정됨

이 경우, sched.mem.maxmemctl = "1330"으로 설정하여 balloon 드라이버가 게스트 스왑 공간으로 스왑하려는 메모리를 제한할 수 있습니다. 여기서 1330MB는 안전하게 디스크로 스왑할 수 있는 2GB의 약 65%에 해당하며, 이는 게스트 운영 체제의 고정된 페이지를 위한 여유 공간을 남겨둡니다.

이러한 권장 사항은 ESX Server의 리소스 관리 가이드에 따라 게스트 운영 체제에 충분한 스왑 공간을 확보했을 때 적용됩니다. 이 스왑 공간은 다음과 같아야 합니다:

(가상 머신의 구성된 메모리 크기 - 예약된 메모리) + (가상 머신의 작업 부하를 수용하기 위한 공간)

또한, sched.mem.maxmemctl로 설정한 최대 balloon 크기는 게스트 운영 체제에서 구성된 스왑 공간보다 작거나 같아야 합니다. 추가 정보는 ESX Server의 리소스 관리 가이드의 '스왑 공간 및 게스트 운영 체제' 섹션을 참조하시기 바랍니다.

 

 

 

 

반응형