再论ReadyFor4GB软件,32位系统下识别4GB内存究竟如何

我以前在《警惕“32位Win7装4G内存”的谬论》中说过“ready for 4GB”这类软件在32位系统下使用4GB内存是不可取的,并非真正使用4GB内存。然后就有一些支持这个软件的伙计们向我发帖“问罪”,经过我多方查证资料,我现在可以告诉你“ready for 4GB”这个东西确实没有完整的使用4GB内存。

大家可以先做个实验,在32为计算机上安装4GB内存后,系统只认出了3gb,但是通过RAM磁盘这类软件可以把剩下的1GB内存虚拟成RAMdisk。我个人的意见是ready for 4GB这个软件就是用了类似的手法。

延伸:《4G内存只显示3G的原因》《64位与32位系统内存占用情况

为什么这么说呢,我查询了这个软件的一些问题,该软件最大的表现就是会和intel核心显卡冲突导致蓝屏。很多人将这个归结为系统驱动的问题,但是我感觉问题没有那么简单。

我个人认为所谓ready for 4GB就是用类似虚拟内存的手法把不能识别的那部分内存用虚拟内存的方式来使用,然后修改系统函数,把内存大小该为实际大小。这样由于windows对虚拟内存(什么是虚拟内存?虚拟内存有什么用?虚拟内存设置多少合适?)是数据随机写入所以使用上应该没有什么异常,但是intel显卡就不一样了。由于intel核心显卡自动共享内存,而且共享大小和内存大小成正比,当修改后系统内存被认为扩大之后显卡自然也会占用更多的显存,但是实际上直接访问的内存并没有那么多,于是显卡就获取不了足够的显存而出现错误。而别的一些集成显卡之所以没有问题是因为这些显卡的共享内存是固定大小的,所以内存被识别变大后并不会影响显存工作,也就避免出现蓝屏错误了。

另一种观点是受我的一个同学启发得到的,就是ready for 4GB使用的手法可能是内存转储,就是在直接访问的内存爆满后把数据转入到以虚拟内存方式管理的部分内存,就是把多余的内存当作内存转储来用。当内存爆满是ready for 4GB强制转存显卡占用的部分导致蓝屏。(内存出问题导致显卡显示故障的一个实例见穆童的《显示器没信号不显示但电脑主机工作正常的问题》)

不管怎样,我个人认为系统并没有完全使用4GB内存。有人做过实验,64位+4gb内存打使命召唤时帧速是32位+4GB破解后的1.5倍。

还是那句话,凡是皆有因,微软不会平白无故的在32位系统上加上内存限制,而几乎所有的32位桌面系统都有限制也说明32位计算机在支持4GB以上内存的局限性。西方哲学有个人存原则,即存在即合理,既然众多厂商都一致做出这个限制必然有其合理的目的,计算机和人一样是一个平衡的整体,一旦打破势必出乱。

所以,想用4GB内存还是装64位系统的好。

2 thoughts on “再论ReadyFor4GB软件,32位系统下识别4GB内存究竟如何

发表评论

电子邮件地址不会被公开。 必填项已用*标注