ชื่อค่อนข้างจะบอกว่ามันมีประโยชน์ที่จะให้ VM 2048MB ของหน่วยความจำแทนการปัดเศษเป็น base-10 และทำ 2000MB หรือไม่
ชื่อค่อนข้างจะบอกว่ามันมีประโยชน์ที่จะให้ VM 2048MB ของหน่วยความจำแทนการปัดเศษเป็น base-10 และทำ 2000MB หรือไม่
คำตอบ:
หน่วยความจำกายภาพในเซิร์ฟเวอร์นั้นมีกำลังงานสองเท่าดังนั้นมันจะแบ่งเท่า ๆ กันถ้าคุณใช้ทวีคูณอื่น ๆ อาจมีการปรับปรุงเล็กน้อยอย่างไม่น่าเชื่อกับ SLAT และหากมีการจัดตำแหน่งอย่างเหมาะสมเช่นกัน ไม่เช่นนั้น
Hyper-V ภายในจัดสรรหน่วยความจำในหน่วยความจำ 2MB ไฮเปอร์ไวเซอร์นั้นจะใช้รายการตารางเพจขนาด 2MB เพื่อประสิทธิภาพหากเป็นไปได้หากโปรเซสเซอร์ของคุณรองรับการแปลที่อยู่ระดับที่สอง (SLAT) สิ่งนี้จะเป็นไปได้สำหรับ VM ที่ปิดหน่วยความจำแบบไดนามิก
นอกจากนั้นไม่เป็นไร
เพียงชี้แจงสิ่งที่คำตอบอื่น ๆ พูด; ขีด จำกัด ที่กำหนดไว้ที่นี่นั้นโดยทั่วไปแล้วสำหรับซอฟต์แวร์เครื่องเสมือนของคุณไม่ใช่แขก นั่นคือเมื่อระบบปฏิบัติการเกสต์ของคุณร้องขอหน้าหน่วยความจำการทำเช่นนั้นจะเพิ่มขึ้นตามที่กำหนดไว้ (เช่น 4KB) ดังนั้นหากคุณกำหนดเครื่องเสมือนให้มี RAM 4097KB และ VM โฮสต์ของคุณใช้ขนาดหน้า 4KB ดังนั้นจึงน่าจะให้ RAM ทั้งหมด 4100KB กับเครื่องเสมือน
อย่างไรก็ตามหาก guest OS ต้องใช้ขนาดหน้า 1KB และระบบปฏิบัติการโฮสต์ของคุณใช้ขนาดหน้า 4KB ดังนั้นระบบปฏิบัติการโฮสต์จะให้พื้นที่ 4KB เป็นหลักซึ่งจะใช้เพียง 1KB เท่านั้น - แต่นั่นไม่ใช่ทั้งหมด หน่วยความจำ ดังนั้นคุณจะไม่สูญเสียพื้นที่ที่มองเห็นได้อย่างแท้จริง
หากต้องการทราบว่าการจัดตำแหน่งระหว่างโฮสต์ OS และเกสต์ OS ไม่ได้เป็นปัจจัยที่นี่ยกเว้น "บิตสุดท้าย"
ฉันสงสัยว่ามันเป็นเรื่องของประเพณีและสอดคล้องกับวิธีการสร้างระบบทางกายภาพ ระบบทางกายภาพมีหน่วยความจำในจำนวนฐาน 2 (และอย่างน้อยก็กับทุก ๆ x86 ที่เคยทำซึ่งเป็นจริง) และมีโอกาสบ้างหากมีระบบปฏิบัติการไม่มากนักที่คาดหวังสิ่งนี้ในการจัดการหน่วยความจำ
กล่าวโดยสรุปก็คือจริงๆแล้วเพราะเครื่องเสมือนสะท้อนให้เห็นถึงเครื่องจริงมากกว่าเครื่องสมมุติ ไม่ใช่คำตอบทางเทคนิค แต่ฉันคิดว่านั่นเป็นของจริง
ไม่ได้จริงๆ หน่วยความจำแบบไดนามิก Hyper-v จะจัดสรรสิ่งที่ระบบใช้อยู่แล้วเท่านั้น จำนวนเงินที่คุณกำหนดคือค่าเริ่มต้น หากคุณไม่ได้ใช้หน่วยความจำแบบไดนามิกข้อดีอย่างเดียวที่ฉันเห็นคือการจัดตำแหน่งหน่วยความจำกายภาพให้เสมือน