본문 바로가기

IT&Design Study MEMO

메모리 벌루닝 (Memory Ballooning)

메모리 벌루닝은 하이퍼바이저가 가상 머신의 메모리 리소스를 관리하는 데 사용하는 메모리 관리 기술입니다.
변화하는 워크로드 수요에 대응하여 가상 머신에서 동적으로 메모리를 할당하고 회수하는 데 사용됩니다.

메모리 벌루닝에서 하이퍼바이저는 게스트 운영 체제 내의 벌룬 드라이버를 사용하여 가상 머신에서 메모리를 회수합니다.
벌룬 드라이버는 게스트 운영 체제에서 실행되는 작은 드라이버로 하이퍼바이저에서 주기적으로 추가 메모리를 요청합니다.

하이퍼바이저는 가상 머신에서 메모리를 회수해야 할 때 풍선 드라이버에 메시지를 보낸 다음 게스트 운영 체제에 메모리를 확보하도록
요청합니다. 게스트 운영 체제는 더 이상 사용하지 않는 메모리를 해제하거나 메모리를 디스크로 페이징 아웃하여 이를 수행할 수 있습니다.

메모리가 확보되면 하이퍼바이저는 필요에 따라 메모리를 다른 가상 머신에 할당할 수 있습니다. 이를 통해 하이퍼바이저는 시스템의 메모리 리소스를 효율적으로 관리하고 모든 가상 머신이 워크로드를 실행하는 데 필요한 메모리에 액세스할 수 있도록 합니다.

메모리 벌루닝은 클라우드 환경과 같이 시스템에서 사용 가능한 총 메모리 양이 제한된 상황에서 특히 유용합니다. 필요에 따라 가상 시스템 간에 메모리를 동적으로 재할당함으로써 메모리 벌루닝을 통해 클라우드 공급자는 메모리 리소스를 보다 효율적으로 활용하고 고객에게 더 나은 성능과 확장성을 제공할 수 있습니다.

그러나 하이퍼바이저 및 게스트 운영 체제가 메모리를 회수하고 할당하기 위해 추가 작업을 수행해야 하므로 메모리 팽창으로 인해 시스템 성능이 저하되고 대기 시간이 증가할 수 있다는 점에 유의해야 합니다. 따라서 메모리 벌루닝은 시스템 성능에 부정적인 영향을 미치지 않도록 주의 깊게 모니터링하여 신중하게 사용해야 합니다.