ESXi 서버에서 메모리는 어떻게 할당됩니까?

ESXi 서버에서 메모리는 어떻게 할당됩니까?

48GB RAM을 갖춘 ESXi 4.1 서버가 있습니다.

각 VM에 대해 4GB의 메모리를 할당합니다. 서버에는 13개의 가상 머신이 있으므로 관리자는 이것이 잘못되었다고 생각합니다.

ESXi가 실제로 메모리 자체를 관리한다고 설명하려고 하는데, ESXi 서버 자체에 메모리를 얼마나 할당했는지 물어보더군요.

저는 아무것도 할당하지 않았습니다(ESXi 서버 자체에 메모리를 할당하는 옵션은 들어본 적도 없습니다).

ESXi 서버에 메모리는 어떻게 할당됩니까? 어떻게 문제 없이 가상 머신 간에 RAM을 과잉 할당/배분합니까?

답변1

여기에는 ESXi뿐만 아니라 더 많은 문제가 있습니다.

  1. 각 VM은 최대 4GB + 문서화된 "오버헤드"를 소비합니다.여기. 이는 vCPU 및 할당된 메모리에 따라 다릅니다. 최소한 각 VM은 4261.98MB(4096 + 165.98)
  2. ESXi 자체 메모리 오버헤드는 하드웨어에 따라 다릅니다. 가장 쉬운 방법은체계vSphere 클라이언트의 메모리 사용량. 기억상으로는 약 1.3GB 정도였던 것으로 기억하는데, 명시된 바와 같이매우하드웨어에 따라 다릅니다.

메모리 할당 및 초과 할당 설명

하이퍼바이저에 주목하세요모든 메모리를 미리 할당하지는 않습니다., VM 사용량에 따라 다릅니다. 그러나 VM이 할당된 모든 메모리를 할당하고 사용하려고 하면 어떤 일이 발생하는지 이해하는 것은 가치가 있습니다.

VM + 호스트가 사용하려고 시도하는 최대값은 대략 다음과 같습니다.55GB 마일리지는 다를 수 있습니다

  • ESXi에서 사용되는 1.3GB
  • 4261.98MB * 13은 VM에서 사용됨

고려해야 할 또 다른 측면이 있는데, 바로 메모리 임계값입니다. 기본적으로 VMware는 6%의 여유 공간(높은 메모리 임계값)을 목표로 합니다. 그래서55GB사용된 메모리를 다음으로 줄여야 합니다.~45GB

즉, VM이 할당된 메모리를 사용할 경우 호스트는 어딘가에서 다시 회수해야 하는 약 10,500MB의 메모리를 갖게 됩니다. ESX는 추가 10.5GB를 찾기 위해 세 가지 작업을 수행합니다.

메모리 회수 방법

  1. 투명한 페이지 공유
  2. 메모리 풍선
  3. 하이퍼바이저 교환

읽고 이해해야 합니다.VMware® ESX™ 서버의 메모리 리소스 관리 이해.

많은 요인에 따라 세 가지 모두의 조합이 과도하게 커밋된 호스트에서 발생할 수 있습니다. 초과 커밋의 영향을 이해하려면 환경을 테스트하고 이러한 측정항목을 모니터링해야 합니다.

알아둘 가치가 있는 몇 가지 대략적인 규칙(위 문서 및 기타 출처에 모두 나와 있음)

  1. 투명한 페이지 공유2/4MB 페이지를 사용하는 VM에서는 발생하지 않습니다. Windows VM에 4096MB를 할당했으므로 기본적으로 2/4MB 페이지를 사용합니다(PAE에 따라 다름). 메모리가 부족한 경우에만 VMware는 큰 페이지를 공유할 수 있는 4KB 페이지로 나눕니다. TPS는 유휴 CPU 주기를 사용하고 특정 속도로 메모리 페이지를 검색하는 데 의존합니다. 상대적으로 느리게 메모리를 반환합니다(분보다는 한 시간을 생각하세요). 따라서 부팅 폭풍은 TPS가 도움이 되지 않는다는 것을 의미합니다. 세 가지 중에서 성능에 가장 낮은 영향을 미칩니다. 문서에서 더 많은 것,

하드웨어 지원 메모리 가상화(예: Intel EPT Hardware Assist 및 AMD RVI Hardware Assist[6]) 시스템에서 ESX는 대규모 호스트 물리적 페이지(일반 페이지의 경우 4KB 대신 2MB 연속 메모리 영역)가 있는 게스트 물리적 페이지를 자동으로 백업합니다. TLB 누락이 적어 성능이 향상됩니다. 이러한 시스템에서 ESX는 1) 동일한 내용을 가진 두 개의 큰 페이지를 찾을 확률이 낮고 2) 2MB 페이지에 대해 비트별 비교를 수행하는 오버헤드가 훨씬 크기 때문에 이러한 큰 페이지를 공유하지 않습니다. 4KB 페이지의 경우. 그러나 ESX는 여전히 각 대형 페이지 내의 4KB 페이지에 대한 해시를 생성합니다. ESX는 대형 페이지를 스왑 아웃하지 않으므로 호스트 스왑 중에 대형 페이지가 작은 페이지로 분할되어 미리 생성된 해시를 사용하여 스왑 아웃되기 전에 작은 페이지를 공유할 수 있습니다. 간단히 말해서, 호스트 메모리가 오버커밋될 때까지 하드웨어 지원 메모리 가상화 시스템에 대한 페이지 공유가 관찰되지 않을 수 있습니다.

  1. 열기구 타기다음에 시작됩니다(임계값은 구성 가능하며 기본적으로 호스트에 사용 가능한 메모리가 6% 미만인 경우(높은 메모리와 소프트웨어 사이)). 드라이버를 설치했는지 확인하고 Java 및관리하다일반적으로 응용 프로그램. OS는 가비지 수집기가 다음에 수행할 작업에 대한 통찰력이 없으며 결국 디스크로 스왑된 페이지에 도달하게 됩니다. 이러한 일이 발생하지 않도록 하기 위해 Java 애플리케이션을 독점적으로 실행하는 서버에서 스왑을 완전히 비활성화하는 것은 드문 일이 아닙니다. vSphere 메모리 관리, SPECjbb의 17페이지를 살펴보십시오.

  2. 하이퍼바이저 교환, 세 가지 방법 중 유일한 방법은 다음과 같습니다.보증설정된 시간에 하이퍼바이저에서 "메모리"를 사용할 수 있습니다. 이는 1과 2가딱딱한임계값(기본값: 여유 메모리 2%). 성능 지표를 직접 읽어 보면 이것이 세 가지 중 최악의 성능이라는 것을 알게 될 것입니다. 성능에 미치는 영향은 거의 모든 애플리케이션에서 매우 두드러지므로 어떤 희생을 치르더라도 이를 피하는 것을 목표로 하십시오.두 자릿수 백분율

  3. 알아야 할 상태가 하나 더 있습니다.낮은(기본적으로 1%). 매뉴얼에 따르면 성능이 크게 저하될 수 있습니다.

호스트 여유 메모리가 낮은 임계값 아래로 떨어지는 드문 경우에 하이퍼바이저는 스와핑 및 메모리 압축을 통해 계속해서 메모리를 회수하고 대상 메모리 할당보다 더 많은 메모리를 소비하는 모든 가상 머신의 실행을 추가로 차단합니다.

요약

스트레스의 핵심은 백서에서 환경이 어떻게 작동할지 예측하는 것이 불가능하다는 것입니다.

  1. TPS는 얼마를 줄 수 있나요? (VM이 OS, 서비스 팩 및 실행 중인 애플리케이션과 얼마나 유사한지에 따라 다름)
  2. VM은 메모리를 얼마나 빨리 할당합니까? 속도가 빠를수록 영향력이 덜한 메모리 회수 체계가 현재 임계값을 유지하는 데 성공하기 전에 다음 임계값으로 점프할 가능성이 더 커집니다.
  3. 애플리케이션에 따라 각 메모리 회수 방식은 매우 다양한 영향을 미칩니다.

평균 시나리오를 테스트하고, 95% 백분위수 시나리오를 테스트하고, 마지막으로 환경이 어떻게 실행되는지 이해하기 위한 최대값을 설정합니다.


편집 1

vSphere 4(또는 4.1은 기억할 수 없음)를 사용하면 이제 로컬 디스크에 하이퍼바이저 스왑을 배치할 수 있지만 여전히 가능하다는 점을 추가할 가치가 있습니다.v모션VM. 공유 저장소를 사용하는 경우 기본적으로 하이퍼바이저 스왑 파일을 로컬 디스크에 옮기는 것이 좋습니다. 이렇게 하면 한 호스트가 심각한 메모리 압박을 받는 경우에도 동일한 공유 스토리지에 있는 다른 모든 vSphere 호스트/VM에 영향을 미치지 않습니다.

편집 2

의견을 바탕으로 ESX가 메모리를 미리 할당하지 않는다는 사실을 굵게 표시했습니다.

편집 3

메모리 임계값에 대해 조금 더 설명했습니다.

답변2

VMware(및 기타 가상화 기술)공유하다다양한 알고리즘에 따라 VM 간의 리소스(메모리, 프로세서 시간, 다양한 I/O)를 제어합니다.

가능하다과도하게 커밋하다모든 VM이 항상 필요한 처리, 메모리 또는 I/O를 모두 사용하는 것은 아니기 때문입니다. VMware의 리소스 관리 가이드아마도 ESXi에서 무엇이 가능한지 알아볼 수 있는 가장 좋은 곳일 것입니다.

또한 다양한 리소스에 대해 다양한 VM에 가중치를 부여하여 알고리즘의 효과를 관리할 수 있습니다. 예를 들어 응용 프로그램 서버 VM에 파일 서버 VM보다 프로세서에 더 높은 가중치를 부여할 수 있습니다. 그러나 기본 설정은 대부분의 요구 사항을 매우 잘 처리합니다. 어떤 경우에는 여기에서 일부 구성을 수행하는 것만으로도 이해하지 못하는 관리자를 달래기에 충분하지만 물론 주의를 기울이고 VMware 버전에 대한 문서를 읽고 수행 중인 작업을 이해하십시오. 관리자가 추가 배치가 필요하지 않은 경우 기본값을 사용하십시오.

특히 단일 서버에서 가상화한 경우에는 과잉 커밋이 항상 좋은 생각은 아닙니다. ESXi 자산의 리소스 사용을 모니터링하고, 필요한 경우 하나 이상의 리소스를 모두 자주 사용하는 경우 추가 호스트/리소스를 추가해야 합니다.

답변3

VMWare ESXi 설치가 이를 처리하도록 하십시오. VMWare 시스템에서는 RAM 리소스를 과도하게 할당할 수 있습니다.메모리 벌루닝, 압축 및 중복 제거 기술.

가상 머신이 유사한 운영 체제를 사용하는 경우 약간의 비용 절감 효과가 있습니다. 이러한 기능을 최대한 활용하려면 게스트 VM 내부에서 VMWare 도구를 활성화해야 합니다.

관련 정보