ฉันได้ตั้งค่าผู้เยี่ยมชมสองคนโดยใช้กล่องอูบุนตูเพื่อเป็นโฮสต์ vm มันมีฟิสิคัลซีพียูสองตัว (แต่ละคอร์มี 6 คอร์), RAM 16 GB, และฮาร์ดดิส 3 ตัว โฮสต์ระบบปฏิบัติการอยู่บน SSD 60GB ในขณะที่แขกรับเชิญอยู่บน HDD ที่แยกต่างหากของพวกเขาแบ่งออกเป็นสองพาร์ติชัน พาร์ติชันแรกเก็บไฟล์รูปภาพ qcow ดิบสำหรับ guest os และพาร์ติชันที่สองถูกกำหนดให้เป็นอุปกรณ์บล็อกกับแขก (สำหรับ "โปรแกรม" และ "ข้อมูล") ฉันเปิดใช้งานบอลลูนหน่วยความจำบน linux guest แต่ไม่ได้อยู่ในหน้าต่าง
ฉันเพิ่งมีประสบการณ์เกี่ยวกับหน่วยความจำครั้งแรกเมื่อวานนี้ดังนั้นฉันจึงตัดสินใจดูการใช้งานหน่วยความจำของผู้เยี่ยมชมแบบเรียลไทม์บนคอมพิวเตอร์ของฉันเอง ดังนั้นฉันจึงมีฮ็อปสองอันที่ทำงานในสองหน้าต่างที่ฉาบตามที่คุณเห็นในภาพที่แนบมา ด้านบนของภาพคือโฮสต์ที่ด้านล่างเป็นหนึ่งในแขก (ลินุกซ์) มีสองสิ่งที่ฉันไม่เข้าใจ:
- บนโฮสต์คอลัมน์ RES บอกว่า 5778M สำหรับแขกคนแรกและอีก 4274 ล้านคนสำหรับฉันซึ่งโฆษณาถึง ~ 10G แต่บรรทัด Mem ที่ด้านบนของภาพบอกว่า 6.9G ซึ่งแปลกและลูกค้าที่ด้านล่าง แจ้งว่ามีการใช้หน่วยความจำ 560M (560M! = 5778M)
ฉันได้อ่านเอกสาร redhat เกี่ยวกับ virtualization และบอกว่าฉันควรคำนวณจำนวน ram ที่ต้องการให้กับแขกโดยเพิ่มหน่วยความจำที่จัดสรรให้แขก + วิดีโอ RAM + ค่าใช้จ่าย "บาง" (ซึ่งไม่สามารถกำหนดได้อย่างแน่นอน) ตัวเลขด้านบน: 560M ถูกใช้โดยหน่วยความจำวิดีโอแขก + 16M คือ ~ 580M ดังนั้นค่าโสหุ้ย "บางอย่าง" ในกรณีของฉันคือ 5.2G?
5778M ไม่ใช่หน่วยความจำทั้งหมดที่แขกสามารถใช้ linux ได้ 8G ถูกตั้งค่าในไฟล์โดเมน xml ดังนั้นฉันจึงไม่ผิดหวัง ยัง
เมื่อฉันรีสตาร์ทแขกของ linux เมื่อเช้านี้มันเริ่มต้นด้วยการใช้ RAM ~ 2G บนโฮสต์และมันก็เพิ่มขึ้นเรื่อย ๆ เกสต์ระบบปฏิบัติการเริ่มต้นด้วย ~ 450M และไปที่ 560M
ฉันได้อ่านว่าการกำหนดไฟล์ swap ให้กับโฮสต์นั้นสามารถช่วยให้ปัญหาหน่วยความจำไม่เพียงพอดังนั้นฉันจึงสร้าง swapfile ขนาด 32G และตั้งค่า swapiness ไว้ที่ 20 ใน sysctl บนโฮสต์
แต่ฉันก็ยังไม่เข้าใจว่าการใช้งานหน่วยความจำ / การจัดสรร / อะไรก็ตามระหว่างแขกและโฮสต์
ใครบางคนที่มีประสบการณ์มากขึ้นในสาขานี้ชี้ให้ฉันไปในทิศทางที่ถูกต้อง / tutorial / wikipedia / whatevertoread? โฮสต์ของแขก qemu htops