Saya menjalankan VirtualBox pada mesin Windows XP dengan RAM 2GB. Saya telah membuat mesin Ubuntu virtual dan mengalokasikannya memori dasar 750MB.
Hanya untuk mengujinya, saya menjalankan 20 hal sekaligus di mesin virtual. Menurut "top" di ubuntu, 750 MB memori digunakan, serta ruang swap yang cukup besar.
Namun, di Windows Task Manager, VitrualBox hanya menggunakan memori 45.000K. Ketika saya meminta mesin virtual untuk melakukan lebih dan lebih, penggunaan CPU dari proses VirtualBox naik (di Windows) tetapi penggunaan memori tetap sama.
Bagaimana mesin virtual yang menggunakan memori 750 MB hanya mengkonsumsi 45 MB memori pada mesin fisik?
Saya berasumsi jawabannya adalah bahwa mesin virtual tidak menggunakan memori nyata, tetapi memori simulasi (yaitu ruang swap), tetapi pasti terasa tajam seperti sedang berjalan di RAM.
UPDATE: Saya sudah bermain-main dengan perfmon seperti yang disarankan. Bahkan meringkas semua yang dapat saya pikirkan, sepertinya masih membutuhkan kurang dari 300 MB ... jadi ini masih merupakan misteri.
Process VirtualBox VirtualBox#1 Total
PoolNonpagedBytes 5,840 42,552 48,392
PoolPagedBytes 119,796 166,892 286,688
PrivateBytes 8,884,224 52,719,616 61,603,840
VirtualBytes 75,939,840 161,202,176 237,142,016
Sum 84,949,700 214,131,236 299,080,936
sumber
Dengan beberapa solusi virtualisasi di Linux, cara mereka mengalokasikan memori menjadikannya sebagai kernel utama sebagai file yang dipetakan dengan memori khusus (seperti
/proc/kcore
file khusus) sehingga dihitung dalam hitungan "cache" dalam output darifree
, bukan "bekas" dihitung.Saya kira sesuatu yang serupa terjadi pada lingkungan Windows Anda: 45MB akan digunakan oleh proses manajemen VirtualBox, dan 750 yang dialokasikan untuk VM itu sendiri akan dihitung di tempat lain.
sumber
Ini bisa berupa memori virtual, file yang dipetakan memori, atau yang serupa.
Sudahkah Anda mencoba menampilkan kolom lain di Task Manager?
sumber
Jangan percaya Manajer tugas. Tidak bisa melihat semuanya.
Masalah ini lebih biasa dilihat dengan SQL Server, misalnya Dengan Sql, saya belum pernah menemukan orang yang memberi tahu saya cara mendapatkan info yang akurat dari Task Manager yang akan membuat saya percaya bahwa angka tersebut tidak tersembunyi di salah satu kolom lainnya.
sumber