Tôi đã chạy một số máy ảo với VirtualBox và việc sử dụng bộ nhớ được báo cáo từ nhiều khía cạnh khác nhau và tôi gặp khó khăn khi tìm hiểu xem máy ảo của tôi thực sự sử dụng bao nhiêu bộ nhớ. Đây là một ví dụ:
- Tôi có máy ảo chạy Windows 7 (với tư cách là Hệ điều hành khách) trên máy chủ Windows XP của tôi.
- Máy chủ có 3 GB RAM
- Guest VM được thiết lập để có bộ nhớ cơ bản 1 GB
- Nếu tôi chạy Task Manger trên Hệ điều hành khách, tôi thấy mức sử dụng bộ nhớ là 430 MB
- Nếu tôi chạy Task Manger trên hệ điều hành máy chủ, tôi thấy 3 quy trình dường như thuộc về VirtualBox:
- VirtualBox.exe (1), sử dụng 60 MB bộ nhớ (Cái này dường như có mức sử dụng CPU nhiều nhất)
- VirtualBox.exe (2), sử dụng 20 MB bộ nhớ
- VBoxSvc.exe, sử dụng 11,5 MB bộ nhớ
- Trong khi chạy VM, mức sử dụng bộ nhớ của HĐH máy chủ là khoảng 2 GB
- Khi tôi tắt VM, hệ điều hành máy chủ sẽ quay trở lại mức sử dụng bộ nhớ xuống còn khoảng 900 MB
Vì vậy, rõ ràng, có một số khác biệt rất lớn ở đây. Tôi thực sự không hiểu làm thế nào GuestOS có thể sử dụng hơn 400 MB, trong khi Hệ điều hành máy chủ chỉ hiển thị khoảng 75 MB được phân bổ cho VM. Có các quy trình khác được sử dụng bởi VirtualBox không được đặt tên rõ ràng không?
Ngoài ra, tôi muốn biết nếu tôi chạy một máy có 1 GB, điều đó sẽ lấy đi 1 GB khỏi hệ điều hành máy chủ của tôi hay chỉ dung lượng bộ nhớ mà máy Guest hiện đang sử dụng?
Cập nhật:
Ai đó đã thể hiện sự không tin tưởng vào các con số sử dụng bộ nhớ của tôi và tôi không chắc liệu sự ngờ vực đó có nhắm vào tôi hay báo cáo của Trình quản lý tác vụ máy chủ của tôi (có lẽ là thủ phạm), nhưng đối với bất kỳ sự hoài nghi nào, đây là ảnh chụp màn hình của các quy trình đó trên máy chủ: