저는 계약자이고 128GB RAM이 장착된 가상 머신을 받았습니다. 이는 제가 개발 중인 애플리케이션에 필요한 것입니다.
그러나 할당 속도가 크게 느려지기 전에(페이징?) 최대 74GB까지 할당할 수 있으며, 86GB에서는 메모리 부족 오류가 발생합니다.
나는 루프에 들어가서 한 번에 1GB의 메모리를 할당하는 매우 간단한 프로그램을 만들었습니다. 이 프로그램도 위의 동작을 보여줍니다.
어떻게 되어가나요?
가상 머신이 잘못 구성되었나요?
"top"을 실행하고 M을 눌러 메모리별로 정렬했지만 상당한 양의 메모리를 사용하지 않았습니다(확실히 누락된 46GB는 아님).
ESXi에서 Red Hat 실행
답변1
분명히 가상 머신의 보기는 전체적인 보기가 아닙니다. Unix 명령을 사용하여 가상 머신의 메모리를 보려고 하면 환경에 대한 제한된 보기가 있고 하이퍼바이저 시스템에 대한 전체 보기가 없습니다.
VMWare에는 오버커밋이라는 개념이 있습니다. 따라서 이 동작이 나타나면 누군가가 하이퍼바이저가 보유한 것보다 더 많은 메모리를 제공했거나 해당 호스트의 다른 VM이 해당 메모리를 놓고 경쟁하고 있는 것입니다. 하이퍼바이저는 스왑 대신 스왑을 사용합니다. 램.
어느 경우든 중요한 것은 하이퍼바이저에 VM에 요청/사용 가능한 전체 RAM이 없다는 것입니다.
따라서 유감스럽게도 이 VMWare 호스트를 담당하는 관리자를 만나거나 대화해야 합니다.
바라보다vmware 기술 저널 - ESX Server의 메모리 오버커밋자세한 내용은.
ESX를 사용하면 구성된 총 메모리가 물리적 시스템의 사용 가능한 메모리를 초과하는 VM(가상 시스템)을 시작할 수 있습니다. 이를 메모리 오버커밋이라고 합니다.
오버커밋은 사용 가능한 물리적 리소스보다 더 많은 가상 리소스를 할당하는 기능을 의미합니다. ESX Server를 사용하면 사용자는 물리적 시스템에서 메모리 및 CPU 리소스를 오버커밋할 수 있습니다.
기존 운영 체제와 마찬가지로 ESX를 사용하면 ESX에서 사용 가능한 메모리를 초과할 수 있는 총 구성된 메모리 크기로 가상 시스템을 시작할 수 있습니다. 이 기사의 설명에서는 ESX Server에 설치된 메모리를 ESX 메모리라고 합니다. 가상 시스템이 모든 ESX 메모리를 소비하는 경우 ESX는 가상 시스템에서 메모리를 회수합니다.
메모리 오버커밋으로 인해 반드시 게스트 운영 체제나 해당 애플리케이션의 성능이 손실되는 것은 아닙니다. 두 가지 실제 작업 부하에 대한 이 기사의 실험 결과는 ESX가 과도하게 커밋됨에 따라 성능이 점차 저하된다는 것을 보여줍니다.