ฉันใช้ VM หลายตัวด้วย VirtualBox และการใช้หน่วยความจำที่รายงานจากมุมมองที่หลากหลายและฉันมีปัญหาในการพิจารณาจำนวนหน่วยความจำ VM ที่ฉันใช้งานจริง นี่คือตัวอย่าง:
- ฉันมี VM ที่ใช้ Windows 7 (เป็น Guest OS) บนเครื่อง windows XP Host ของฉัน
- เครื่องโฮสต์มี RAM 3 GB
- Guest VM ได้รับการตั้งค่าให้มีหน่วยความจำพื้นฐาน 1 GB
- ถ้าฉันเรียกใช้ Task Manger บน Guest OS ฉันเห็นการใช้หน่วยความจำ 430 MB
- ถ้าฉันเรียกใช้ตัวจัดการงานบนโฮสต์ระบบปฏิบัติการฉันเห็น 3 กระบวนการที่ดูเหมือนว่าเป็นของ VirtualBox:
- VirtualBox.exe (1) ใช้หน่วยความจำ 60 MB (อันนี้ดูเหมือนว่าจะมีการใช้งาน CPU มากที่สุด)
- VirtualBox.exe (2) ใช้หน่วยความจำ 20 MB
- VBoxSvc.exe ใช้หน่วยความจำ 11.5 MB
- ขณะเรียกใช้ VM การใช้หน่วยความจำของ Host OS นั้นประมาณ 2 GB
- เมื่อฉันปิด VM, Host OS ของมันก็จะกลับไปใช้หน่วยความจำลงไปประมาณ 900 MB
เห็นได้ชัดว่ามีความแตกต่างอย่างมากที่นี่ ฉันไม่เข้าใจว่า GuestOS สามารถใช้ 400+ MB ได้อย่างไรในขณะที่ Host OS จะแสดงเฉพาะประมาณ 75 MB ที่จัดสรรให้กับ VM มีกระบวนการอื่นที่ใช้โดย VirtualBox ที่ไม่ได้ตั้งชื่ออย่างชัดเจนหรือไม่?
นอกจากนี้ฉันต้องการทราบว่าฉันเรียกใช้เครื่องที่มี 1 GB หรือไม่นั้นจะใช้เวลา 1 GB จากโฮสต์ระบบปฏิบัติการของฉันหรือเฉพาะหน่วยความจำที่เครื่องแขกใช้อยู่ในปัจจุบันหรือไม่
ปรับปรุง:
มีคนแสดงความไม่ไว้วางใจกับหมายเลขการใช้งานหน่วยความจำของฉันและฉันไม่แน่ใจว่าความไม่ไว้วางใจนั้นมาถึงฉันหรือการรายงาน Task Manager ของ Host OS ของฉัน (ซึ่งอาจเป็นผู้ร้าย) แต่สำหรับความสงสัยใด ๆ บนเครื่องโฮสต์: