มีมากกว่า ESXi ในคำถามที่นี่
- แต่ละ VM จะบริโภคได้ถึง 4GBs + "ค่าใช้จ่าย" ซึ่งเป็นเอกสารที่นี่ ขึ้นอยู่กับ vCPU + หน่วยความจำที่จัดสรร อย่างน้อยที่สุดแต่ละ VM จะใช้ 4261.98 MBs (4096 + 165.98)
- ค่าใช้จ่ายหน่วยความจำของ ESXi นี้ขึ้นอยู่กับฮาร์ดแวร์ ตัวเลือกที่ง่ายที่สุดคือดูที่การใช้หน่วยความจำระบบในไคลเอนต์ vSphere จากหน่วยความจำผมจำได้ว่ามันเป็นรอบเครื่องหมาย 1.3GB แต่ตามที่ระบุไว้ที่มีมากขึ้นอยู่กับฮาร์ดแวร์
อธิบายการจัดสรรหน่วยความจำ & การทับซ้อน
โปรดทราบว่าไฮเปอร์ไวเซอร์จะไม่จัดสรรหน่วยความจำล่วงหน้าทั้งหมดขึ้นอยู่กับการใช้งานของ VM อย่างไรก็ตามมันก็คุ้มค่าที่จะเข้าใจว่าจะเกิดอะไรขึ้นหาก VMs พยายามจัดสรรและใช้หน่วยความจำทั้งหมดที่จัดสรรให้
จำนวน VM + โฮสต์สูงสุดของคุณจะพยายามใช้จะมีประมาณ55 GB ระยะเวลาอาจแตกต่างกันไป
- 1.3 GB ที่ใช้โดย ESXi
- 4261.98 MBs * 13 ใช้โดย VMs
มีแง่มุมอื่นที่ต้องพิจารณาและนั่นคือเกณฑ์หน่วยความจำ โดยค่าเริ่มต้น VMware จะตั้งเป้าหมายว่าจะว่าง 6% (ขีด จำกัด หน่วยความจำสูง) ดังนั้นหน่วยความจำที่ใช้ขนาด 55 GBจะต้องลดลงเหลือ~ 45GB
นั่นหมายความว่าโฮสต์จะมีหน่วยความจำประมาณ 10,500 MBs ซึ่งจำเป็นต้องเรียกคืนจากที่ใดที่หนึ่งหาก VMs ใช้หน่วยความจำที่จัดสรรไว้ มีสามสิ่งที่ ESX ทำเพื่อค้นหา 10.5 GB เพิ่มเติมนั้น
วิธีการกู้คืนหน่วยความจำ
- การแชร์เพจแบบโปร่งใส
- หน่วยความจำบอลลูน
- Hypervisor Swapping
คุณควรอ่านและทำความเข้าใจการบริหารทรัพยากรหน่วยความจำความเข้าใจในVMware® ESX ™เซิร์ฟเวอร์
ขึ้นอยู่กับปัจจัยจำนวนมากการรวมกันของทั้งสามจะ / อาจเกิดขึ้นในโฮสต์ที่มุ่งมั่นมากกว่า คุณต้องทดสอบ envrionment ของคุณและติดตามการวัดเหล่านี้เพื่อทำความเข้าใจผลกระทบของการกระทำเกิน
กฎที่หยาบบางข้อที่ควรค่าแก่การรู้ (ทั้งหมดในเอกสารข้างต้นและแหล่งอื่น ๆ )
- การแชร์เพจแบบโปร่งใสจะไม่เกิดขึ้นสำหรับ VM ที่ใช้หน้าเว็บขนาด 2/4 MB ในขณะที่คุณจัดสรร 4096 MB ให้กับ Windows VM ของคุณพวกเขาจะใช้หน้า 2/4 MB เป็นค่าเริ่มต้น (ขึ้นอยู่กับ PAE) ภายใต้แรงกดดันของหน่วยความจำเท่านั้น VMware จะแบ่งเพจขนาดใหญ่ออกเป็นเพจขนาด 4 KB ที่สามารถแชร์ได้ TPS อาศัยการใช้รอบ CPU ที่ไม่ได้ใช้งานและการสแกนหน้าหน่วยความจำในอัตราที่แน่นอน ส่งคืนหน่วยความจำค่อนข้างช้า (คิดหนึ่งชั่วโมงมากกว่านาที) ดังนั้นพายุบูทจะหมายถึง TPS จะไม่ช่วยคุณ จากสามสิ่งนี้มีผลกระทบต่อประสิทธิภาพต่ำที่สุด เพิ่มเติมจากเอกสาร
ในการจำลองเสมือนหน่วยความจำที่ช่วยด้วยฮาร์ดแวร์ (ตัวอย่างเช่น Intel EPT Hardware Assist และระบบ AMD RVI Hardware Assist [6]) ESX จะสำรองหน้าทางกายภาพของผู้เยี่ยมชมโดยอัตโนมัติด้วยหน้าทางกายภาพโฮสต์ขนาดใหญ่ (พื้นที่หน่วยความจำต่อเนื่อง 2MB แทน 4KB ประสิทธิภาพที่ดีขึ้นเนื่องจากการพลาด TLB น้อยกว่า ในระบบดังกล่าว ESX จะไม่แชร์เพจขนาดใหญ่เหล่านั้นเนื่องจาก: 1) ความน่าจะเป็นในการค้นหาเพจขนาดใหญ่สองหน้าที่มีเนื้อหาเหมือนกันอยู่ในระดับต่ำและ 2) ค่าใช้จ่ายในการเปรียบเทียบแบบทีละบิตสำหรับเพจ 2MB นั้นมีขนาดใหญ่กว่ามาก สำหรับหน้า 4KB อย่างไรก็ตาม ESX ยังคงสร้างแฮชสำหรับหน้า 4KB ภายในแต่ละหน้าขนาดใหญ่ เนื่องจาก ESX จะไม่สลับหน้าขนาดใหญ่ระหว่างการสลับโฮสต์ หน้าขนาดใหญ่จะถูกแบ่งออกเป็นหน้าเล็ก ๆ เพื่อให้แฮชที่สร้างไว้ล่วงหน้าเหล่านี้สามารถใช้เพื่อแบ่งปันหน้าเล็ก ๆ ก่อนที่จะถูกสับเปลี่ยน ในระยะสั้นเราอาจไม่พบการแชร์เพจใด ๆ สำหรับระบบการจำลองเสมือนหน่วยความจำที่ช่วยด้วยฮาร์ดแวร์จนกว่าหน่วยความจำโฮสต์จะถูก overcommitted
การเตะบอลลูนในครั้งต่อไป (ขีด จำกัด สามารถกำหนดค่าได้โดยค่าเริ่มต้นนี่คือเมื่อโฮสต์มีหน่วยความจำว่างมากกว่า 6% (ระหว่างสูงและซอฟต์แวร์) ตรวจสอบให้แน่ใจว่าคุณติดตั้งไดรเวอร์และระวัง Java และแอปพลิเคชันที่ได้รับการจัดการโดยทั่วไป ระบบปฏิบัติการไม่มีข้อมูลเชิงลึกเกี่ยวกับสิ่งที่ตัวรวบรวมขยะจะทำต่อไปและจะจบลงด้วยการกดปุ่มเพจที่เปลี่ยนเป็นดิสก์ ไม่ใช่เรื่องแปลกสำหรับเซิร์ฟเวอร์ที่รันแอปพลิเคชันจาวาโดยเฉพาะเพื่อปิดใช้งานการสลับอย่างสิ้นเชิงเพื่อรับประกันว่าจะไม่เกิดขึ้น ดูหน้า 17 ของการจัดการหน่วยความจำ vSphere, SPECjbb
การสลับไฮเปอร์ไวเซอร์จากสามวิธีเป็นวิธีเดียวที่รับประกัน "หน่วยความจำ" ที่มีให้กับไฮเปอร์ไวเซอร์ในเวลาที่กำหนด สิ่งนี้จะถูกใช้ถ้า 1 & 2 ไม่ให้หน่วยความจำเพียงพอที่จะอยู่ภายใต้ขีด จำกัดฮาร์ด (ค่าเริ่มต้นของหน่วยความจำว่าง 2%) เมื่อคุณอ่านตัวชี้วัดประสิทธิภาพ (ทำเอง) คุณจะรู้ว่านี่เป็นการทำงานที่แย่ที่สุดของทั้งสาม ตั้งเป้าหมายที่จะหลีกเลี่ยงค่าใช้จ่ายทั้งหมดเนื่องจากผลกระทบด้านประสิทธิภาพจะเป็นสิ่งที่น่าสังเกตมากในเกือบทุกแอปพลิเคชันเปอร์เซ็นต์สองหลัก
มีอีกหนึ่งสถานะที่ต้องระวังในระดับต่ำ (โดยค่าเริ่มต้น 1%) จากคู่มือนี้สามารถลดประสิทธิภาพของคุณลงอย่างมาก
ในกรณีที่ไม่ค่อยเกิดขึ้นซึ่งหน่วยความจำว่างของโฮสต์ลดลงต่ำกว่าขีด จำกัด ต่ำ hypervisor ยังคงเรียกคืนหน่วยความจำผ่านการสลับการบีบอัดและหน่วยความจำและบล็อกการดำเนินการของเครื่องเสมือนทั้งหมดที่ใช้หน่วยความจำมากกว่าการจัดสรรหน่วยความจำเป้าหมาย
สรุป
ประเด็นสำคัญที่ทำให้เกิดความเครียดคือมันเป็นไปไม่ได้ที่จะทำนายจากเอกสารทางการเงินว่าสภาพแวดล้อมของคุณจะเป็นอย่างไร
- TPS ให้คุณได้เท่าไหร่ (ขึ้นอยู่กับว่า VM ของคุณมีความคล้ายคลึงกับ OS, Service Pack และแอปพลิเคชันที่รันอยู่)
- VM ของคุณจัดสรรหน่วยความจำของคุณอย่างรวดเร็วแค่ไหน? ยิ่งทำเร็วเท่าไหร่คุณก็ยิ่งมีโอกาสมากขึ้นที่จะข้ามไปยังขีด จำกัด ถัดไปก่อนที่รูปแบบการเรียกคืนหน่วยความจำที่มีผลกระทบน้อยจะประสบความสำเร็จในการทำให้คุณอยู่ในเกณฑ์ปัจจุบันของคุณ
- แต่ละรูปแบบการเรียกคืนหน่วยความจำจะมีผลกระทบกันอย่างกว้างขวาง
ทดสอบภาพจำลองโดยเฉลี่ยของคุณคุณเป็น 95% ของสถานการณ์แบบไทล์และในที่สุดคุณก็จะเข้าใจว่าสภาพแวดล้อมของคุณจะทำงานอย่างไร
แก้ไข 1
น่าจะเพิ่มด้วย vSphere 4 (หรือ 4.1 ไม่สามารถเรียกคืนได้) ตอนนี้คุณสามารถวาง hypervisor swap บนโลคัลดิสก์ แต่ยังคงvmotion VM หากคุณกำลังใช้ที่เก็บข้อมูลร่วมกันฉันขอแนะนำให้คุณย้ายไฟล์ไฮเปอร์ไวเซอร์ swap ไปไว้บนดิสก์ภายในเครื่องตามค่าเริ่มต้น สิ่งนี้ทำให้มั่นใจได้ว่าเมื่อโฮสต์หนึ่งอยู่ภายใต้แรงกดดันหน่วยความจำอย่างรุนแรงจะไม่ส่งผลกระทบต่อ vSphere โฮสต์ / VM อื่น ๆ ทั้งหมดบนที่เก็บข้อมูลเดียวกัน
แก้ไข 2
จากความคิดเห็นทำให้ ESX ไม่จัดสรรหน่วยความจำล่วงหน้าอย่างชัดเจน ...
แก้ไข 3
อธิบายเพิ่มเติมเล็กน้อยเกี่ยวกับเกณฑ์หน่วยความจำ