为什么虚拟机在开启系统的时候占用内存这么小?

使用virtualbox开启win7系统,发现整个内存才10多M。光是win7系统本身就应该占好几百M内存。求大神指点。
如图:
已邀请:

Eidosper - 一粒尘埃/码农/作曲,公众号一埃居(ID:eidosperhome)正在筹建中,欢迎关注。华科论道群342531142

推荐来自: Joey yakir Nohara vczh 袁鑫杰 西瓜西瓜哦更多 »

如果你的代码这么写:
int *p = (int*)malloc(1024*1024*512);
你猜占多少内存?假设申请成功。
 
答案是:大约几十KB,我们记作 a KB。
 
假设你这么写:
 
int *p = (int*)malloc(1024*1024*512);

p[0]=rand();

你猜内存占用多大?
 
答案:a KB+4KB
 
程序申请到的地址,其实是在程序空间中让堆变大了,但是如果不进行IO,操作系统是不会分配page给程序的。因为系统维护着虚拟页号到物理页号的转换,所以,通常申请了不用等于白申请的。
 
更详细的内存管理情况,我就不知道了。题目中所说的情况,大概是相同的原理。

要回答问题请先登录注册