ramdisk4g(Win7(32位) 4G 内存 Ramdisk 设置多大内存合适)
大家好,今天给各位分享ramdisk4g的一些知识,其中也会对Win7(32位) 4G 内存 Ramdisk 设置多大内存合适进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
用ramdisk 4g时总是提示“Faild”
我找到的是MS做kernel内存管理的developer,所以应该是最权威的了.目前驱动程序唯一能达到访问4gb以上地址内存的方法是通过一个ddkapi:MmMapIoSpace.其实这个api本来是用来给设备驱动程序进行特殊的地址映射用的,并非用来管理内存.
简单地说,bios会把可用的内存映射到一个并不一定连续的物理地址空间中,比如0地址开始的一段空间需要留给bios自己所以无法映射内存,3gb-4gb范围内的地址有可能留给各种pci设备,也不能用作内存,这也是为什么win732bit在4gb地址线下看不到全部4gb内存的原因.
当然如果bios支持memoryremap,那么多余的内存会比map到4gb以上的地址空间,而由于目前win732bit强行忽略掉了这部分mapping,所以即使biosmap了也不会被使用.
ramdisk4g的原理就是使用MmMapIoSpace来强行读写4gb以上的地址空间,注意是跳过操作系统的强行读写,把这段地址当作是io设备来操作,而并不一定是内存.
这种做法,主要有两个问题:
第一:作为驱动程序,你是无法确切地知道究竟哪段物理地址空间里面是映射的你的多余的内存,目前的bios架构中,只有通过中断int25,function0xE820才能获知,而这个bios中断只能在实模式下调用,也就是说windows启动之后,驱动程序是无法调用这个中断去获知的.那么,ramdisk驱动就只能靠猜,比如说他可以知道你装了4gb内存,而目前只认了3.5gb,那么多出来的512m应该在4g-4.5g这个物理地址段.
但是,这个只是猜测,bios并不一定会把多出来的内存映射到那里,也可能是4.1g-4.6g区间,甚至不一定是连续的空间.而且,各种奇怪的硬件设备也有可能自己占用特殊的物理地址空间,比如假设有一块硬件占用了4g开始的16m空间,那么显然这段地址里面就不再是内存了.
好吧,那么如果ramdisk强行去读写错误的地址空间会如何呢?简单地说:cpu不会报错,但是结果是不可预料的,比如如果这段地址空间根本是一个memoryhole,那么往里面写东西就是白写,读操作返回的有可能都是0xFFFFFFFF,这样地话,作为一个虚拟磁盘而言,其结果就是数据损坏.
更为严重的是:如果有一块特殊的硬件的io空间映射在4g以上的一段地址,而ramdisk强行去写入数据,就会直接对那块硬件进行io操作,有可能会损坏硬件或者发生更奇怪的事情,比如该设备莫名其妙开始工作了等等.
第二:即使你的运气很好,bios把多余的内存正好连续地映射在4g开始的空间,也就是ramdisk完全猜对了的情况,还有一个问题是,ramdisk无法保证有没有其他任何代码也会去读写这段地址空间.因为ramdisk是跳过os的内存管理直接进行io的,其他驱动程序也有可能做相同的事情,这样的结果一样是数据损坏.比如ramdisk先往里面写了一个文件的内容,之后另一个驱动程序也在相同地址写了一些其他数据,那么ramdisk再读出来的时候就拿不到原来的数据了.
综上,在你无法100%确保以上两点肯定没事的情况下,使用ramdisk还是有风险的,最坏情况是用户数据丢失甚至硬件设备损坏.
其实真的要用超过4g内存,还是有其他更安全的办法的,比如换64位系统,或者用server版本(完全支持pae的),或者直接patchkernel(这个在上面的帖子里面有链接,可以在vista32位里面直接用到128g内存)
如果真的一定要用ramdisk,请在设置好之后一定要做一个测试:copy一个可以撑满ramdisk大小的真实文件(比如电影之类),然后再从ramdisk里面copy出来,再用fc/b和原始文件进行二进制比较.多做几次测试,以确保正确性.每一个使用ramdisk的机器都应该做这样的测试,因为每台机器bios映射的方式可能不一样.
当然这个只能基本确保第一个问题不存在,还是无法排除第二个问题的可能性.万一有个驱动突然想起来往4g以上某个地址写点东西的话,你的文件就坏了.
4G内存 用ramdisk 死机
我的情况和你差不多,我是
主板:技嘉GA-MA78G-S2HP,
u:AMD8650
内存:金士顿2G800×2
显卡:集成
硬盘:希捷250G
电源:杂牌
配置和你的相比差不少,但是问题差不多,
我一开始装了一个1.8版的,设的虚拟硬盘大小是1200M,刚装完就蓝屏,出现的错误是什么STOP:0x00000050
我想你的也是这个错误吧,
同时伴随进入系统慢(这个问题在安装ramdisk之前就存在,估计和ramdisk没有关系)
还有就是无法正常关机(一直显示正在关机,这个肯定和这个软件有关系,因为卸载后能正常关机了)
一看不行就把这个软件卸载了。
后来上网查了点资料学了一招,在BOOt.ini文件里加了个“/PAE”,
也就是把
[bootloader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operatingsystems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"/noexecute=optin/fastdetect
改成
[bootloader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operatingsystems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"/PAE/noexecute=optin/fastdetect
这回在我的电脑的属性里能看到“2.75GB物理地址扩展”
后来装了一个1.1中文绿色版,虚拟硬盘设为1G,一切正常。
为了寻找原因我又装回了1.8版,但是装不进去了(发现新硬后无法安装)
我又下了一个2.0版的
安装之后设了1.25G结果又蓝屏,出起后虚拟硬盘只有16M。
卸载后装了1.1也设1.25G蓝屏。
卸载后装了1.1也设1G正常。
我的主板也是双bIOS也出现了BIOS损坏,AUTOrecovering之后好了,因为我的主板自带的是F2版的BIOS,没有升过级,所以版本没变。
后来我把BIOS升级到F4
不知道对这个软件有没有影响,但是起机速度快了不少。(滚动24圈到7圈,后来我装了雨林木风的SP3,起机时进度条只滚动1圈半。
总结来说:
1、出现蓝屏可能是和软件版本有关。
2、建议把BIOS升到最高版本。(好像是能让主板和CPU更搭配,至少我的是这样的,因为在升级说明里是:“UpdateCPUID”,你的是F5,为什么还原成F3,我可以解释,因为双BIOS的主BIOS可以升级,备用BIOS为了安全起见是无法升级的,所以你升过级的BIOS损坏后,用没有升过级的BIOS修复就还原到原来的版本了。
3、安装雨林木风的系统,很不错的,在gougou上有下载。
4、开启物理地址扩展。
5、不要设太大的虚拟内存(建议最大一个G)
6、不要把系统临时文件和虚拟内存设在这里可能会引起不必要的麻烦。(设为虚拟内存可能有点太少了吧,可能因为咱们的内存太了,虚拟内存可能应该比内存更大一些,我们如果只设一个G有点小。建议只做为存放临时internet文件和BT下载用(下载太大的文件时只能用物理硬盘了。
以上是我的经验和一些建议,希望对你有帮助。我的电话是13591354302,如果愿意可以沟通一下。我姓冀,其实我也不太董。通过沟通彼此交流经验互相学习。
我也提了个问题不过测重是起机速度慢你可以看看:http://zhidao.baidu.com/question/82828463.html
Win7(32位) 4G 内存 Ramdisk 设置多大内存合适
4096-3328=768M(最大可设置到1.5G)
虚拟内存设置到出来的那个移动磁盘上,右键点击我的电脑--属性--高级——性能
设置——高级——虚拟内存
更改!
把IE临时文件夹放在Ramdisk上,可以提高网页的浏览速度,关机后这些内容就自动消失。右键点击IE--属性--设置--移动文件夹到R盘!
系统临时文件设置到Ramd
右键点击我的电脑--属性--高级--环境变量,将TEMP和TMP设置到Ramdisk!
关于ramdisk4g和Win7(32位) 4G 内存 Ramdisk 设置多大内存合适的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
Tags: