8.2.15. 메모리 최적화
호스트의 가상 머신 수를 늘리려면 메모리 과다 할당을 사용하여 가상 머신에 할당한 메모리가 RAM을 초과하고 스왑 공간을 사용할 수 있습니다.
그러나 메모리 과다 할당에 잠재적인 문제가 있습니다.
- 성능 스왑 - 메모리가 느리고 RAM보다 더 많은 CPU 리소스를 소비하여 가상 머신 성능에 영향을 미칩니다. 과도한 스왑으로 인해 CPU 충돌이 발생할 수 있습니다.
- OOM(메모리 부족) 종료 - 호스트가 스왑 공간이 부족하면 새 프로세스를 시작할 수 없으며 커널의 OOM 종료 데몬에서 가상 머신 게스트와 같은 활성 프로세스 종료를 시작합니다.
이러한 단점을 극복하기 위해 다음을 수행할 수 있습니다.
- Memory Optimization 설정 및 Memory Overcommit Manager (MoM) 를 사용하여 메모리 과다 할당을 제한합니다.
- 스왑 공간이 가상 메모리에 대한 최대 잠재적 수요를 수용할 수 있을 만큼 커지고 안전 여유가 남아 있게 합니다.
- KSM(Memory ballooning and Kernel Same-page Merging) 을 활성화하여 가상 메모리 크기를 줄입니다.
8.2.15.1. 메모리 최적화 및 메모리 과다 할당
메모리 최적화 설정 중 하나를 선택하여 메모리 과다 할당을 제한할 수 있습니다( 없음(없음 ), 150%, 200% ).
각 설정은 RAM의 백분율을 나타냅니다. 예를 들어 호스트에 64GB RAM이 있는 경우 150% 를 선택하면 가상 메모리에서 총 96GB의 메모리를 추가로 32GB로 과다 할당할 수 있습니다. 호스트가 총 4GB를 사용하는 경우 나머지 92GB를 사용할 수 있습니다. 대부분의 가상 머신( 시스템 탭의메모리 크기 )을 할당할 수 있지만, 일부 가상 머신은 할당 해제된 안전 범위로 두는 것을 고려합니다.
가상 메모리에 대한 수요가 급증하는 경우 MoM, 메모리 ballooning 및 KSM이 가상 메모리를 다시 최적화하기 전에 성능에 영향을 미칠 수 있습니다. 이러한 영향을 줄이려면 실행 중인 애플리케이션 및 워크로드에 적합한 제한을 선택하십시오.
- 메모리에 대한 수요가 증가하게 되는 워크로드의 경우 200% 또는 150% 와 같은 더 높은 백분율을 선택합니다.
- 메모리 수요가 급증할수록 중요한 애플리케이션이나 워크로드의 경우 150% 또는 None (0%)과 같은 더 낮은 백분율을 선택합니다. None 을 선택하면 메모리 과다 할당을 방지할 수 있지만 MoM, 메모리 balloon 장치 및 KSM이 가상 메모리를 계속 최적화할 수 있습니다.
구성을 프로덕션에 배포하기 전에 항상 광범위한 조건에서 테스트하여 메모리 최적화 설정을 테스트합니다.
메모리 최적화 설정을 구성하려면 새 클러스터 또는 클러스터 편집 창에서 최적화 탭을 클릭합니다. 8.2.3절. “최적화 설정 설명” 을 참조하십시오.
추가 댓글:
- 호스트ECDHE 보기에는 오버 커밋 비율의 크기를 조정하는 데 유용한 기록 정보가 표시됩니다.
- 사용 가능한 실제 메모리는 KSM 및 메모리 볼루닝 변경에 의해 달성되는 메모리 최적화의 양이 지속적으로 변경되기 때문에 실시간으로 확인할 수 없습니다.
- 가상 머신이 가상 메모리 제한에 도달하면 새 앱을 시작할 수 없습니다.
- 호스트에서 실행할 가상 머신 수를 계획하는 경우 최대 가상 메모리(실제 메모리 크기 및 메모리 최적화 설정)를 시작점으로 사용합니다. 메모리 볼루닝 및 KSM과 같은 메모리 최적화에 의해 달성되는 작은 가상 메모리를 고려하지 마십시오.