双核cpu配多大内存4g内存,能不能开3个虚拟机,每个只挂一个网页

我的电脑是4G内存,安装了32位的win8。只能识别3个G。现在我安装了一个虚拟机,虚拟机跑着ubuntu。那么虚拟机会把我未能使用的1G内存给使用起来吗?换句话说,这样4G内存是否都可以利用起来了?
虚拟机也是通过HOST的底层接口来访问内存,HOST不能使用的内存虚拟机怎么使用?
虚拟机也是通过操作系统来分配内存的,不是直接到硬件上划分,所以操作系统能识别多少内存,那么虚拟机最大也只能分配多少。&br&&br&然后解释一下为什么只能用到3GB内存:&br&&br&32位版本的Windows可使用的最大地址范围是2^32,也就是4GB大小,但这是寻址范围,这些地址里,包括了内存地址,也包括其它地址,比如:显存,网卡,各种PCI设备等等。&br&&br&操作系统要访问外部设备的寄存器、存储器的时候,是把外部设备的这些资源,映射到某一块内存地址上,写某块内存地址,就是写对应的寄存器。&br&&br&所以,硬件本身要保留一些内存地址用于映射硬件内存,结果就是4GB的内存地址里,有一些是不能给物理内存使用的,越是新板子,或者装了大显存的板子,映射硬件内存的区域就更大,可用的物理内存地址就越小。&br&&br&实际上在DOS时代也是这样的,1MB以下的内存地址里,0xA000-0xFFFF这一块,就是640K-1M这个区域,也是不能用来给物理内存使用的,这个区域映射了字符模式的显存。&br&&br&当然了,32位系统其实也有能力访问到超过32位(4GB以上)的内存地址的,Linux内核已经实现了,但Windows似乎不打算这么做,这种技术就是PAE(物理地址扩展),Windows XP以及后续的所有家用版本都不真正支持PAE,据说Windows的server版支持,这一点没有验证过。PAE是使用页交换的方式,单个进程的地址空间(虚拟地址)仍然是4G,但整个系统可以访问超过4G的物理地址。&br&&br&所以32位Windows上使用4G内存是必然要浪费一些内存的,我家里XP可用内存只有1.99GB,因为我显卡是1G的显存,显存映射要占用物理地址。&br&&br&如果换64位就没没问题了。&br&&br&-------------------------&br&&br&为什么64位就能用上那一块内存了?解释一下:&br&&br&大概画一个图,实际上1M以下也有地址变换,我这里省略了&br&&br&图中的数值不一定对应真实值(有一些软件能显示出来,忘记叫啥了)&br&&br&物理地址空间
实际内容&br&1GB-3GB
物理内存1GB-3GB&br&3GB-3.5GB
显存512MB&br&3.5GB-3.8GB
PCI地址&br&3.8GB-4GB
BIOS保留地址&br&4GB-5GB
物理内存3GB-4GB&br&&br&在32位环境下丢失的那1GB内存被映射到4-5GB这一段地址上了。&br&&br&具体要查看哪个设备映射了哪个地址,打开Windows设备管理器,双击某个设备,比如显卡,点“资源”这个标签,可以看到有一个内存范围的东西,这里就标识了哪一段内存地址被映射到显卡显存上了&br&&br&&img data-rawheight=&357& data-rawwidth=&369& src=&/a278dbeac7a21c82afb11d71281ac1ff_b.jpg& class=&content_image& width=&369&&第一段就有128M地址被映射了(我用的是虚拟机)&br&&br&------------------------------------------------------------&br&根据&a data-title=&@钢盅郭子& data-editable=&true& class=&member_mention& href=&///people/f09ebe7dd979c77cf3676& data-hash=&f09ebe7dd979c77cf3676& data-tip=&p$b$f09ebe7dd979c77cf3676&&@钢盅郭子&/a& 说的,我按照了Buffalo这个虚拟内存工具,有三张图,先贴一下:&br&&img data-rawheight=&900& data-rawwidth=&1440& src=&/f8bb81bed12b19a1e852fce_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/f8bb81bed12b19a1e852fce_r.jpg&&&img data-rawheight=&900& data-rawwidth=&1440& src=&/4929419cac48f68d4641d_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/4929419cac48f68d4641d_r.jpg&&&img data-rawheight=&900& data-rawwidth=&1440& src=&/ffbfc8937a_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/ffbfc8937a_r.jpg&&&br&可以看出来&b&系统总可用内存数发生了改变&/b&。也就是说Buffalo这个软件是在Windows内存管理器&b&启动之前&/b&,就已经划分走了内存,那么它可能是在系统启动阶段,或者启动之前(NTLDR阶段)就已经占用了内存,此时是可以用PAE方式划走内存的。这部分内存对于后来启动的WindowsXP来说是&b&不可见&/b&的。并且每次修改都需要重启。&br&&br&但虚拟机的内存是在运行时可配置的,这就要求虚拟机必须通过Windows的内存管理器分配内存。那么这样可以解释了Buffalo在Windows系统启动之前(至少是内存管理器启动之前)就已经取走了内存,那么它就有能力访问4G和4G以上内存,但这不是一种通用的做法,因为不能&b&动态调整&/b&,每次修改都要重启。
虚拟机也是通过操作系统来分配内存的,不是直接到硬件上划分,所以操作系统能识别多少内存,那么虚拟机最大也只能分配多少。然后解释一下为什么只能用到3GB内存:32位版本的Windows可使用的最大地址范围是2^32,也就是4GB大小,但这是寻址范围,这些地址里…
Bug Creator下载页面 -
专门网论坛 - 专业的笔记本电脑技术交流社区
后使用快捷导航没有帐号?
扫一扫,访问微社区
只需一步, 快速开始
新版 51NB专门网 客户端强势归来!
专门网的笔记本电脑及移动设备交流社区,尤其专长于ThinkPad笔记本电脑
扫描二维码安装
扫描二维码安装
支持分类信息/主题分类
支持搜索/分享/删选/注册
社区新帖热帖实时更新
所有数据和网站实时同步
查看周边用户、周边帖子
查看网友发帖位置
随时随地拍照上传
可多选5张照片
轻松录音上传
倾听ta的声音
回复信息及时通知
和好友实时语音交流
Powered by Discuz! X3.2 &
Comsenz Inc &}

我要回帖

更多关于 虚拟机能不能玩游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信