1、让 32 位系统用尽 4G 内存-RAMDISK 使用详解win7 或者 XP 的 32 位版本,总线是 32 位的,也就是说只有 2 的 32 次方的寻址能力,2 的 32 次方也就是 4294967296,这个数字接近 4g,但是 windows 会保留一些地址给其他的外设使用。因此就会导致实际 windows 的可用内存小于 4g 的情况。通俗的讲:你要从内存里面读数据,必须要知道数据在哪里,也就是说内存中的每一个存储单元都有一个编号,就像门牌号码一样,这些编号只能从 1 到 4294967296 之间选区,再大就超出 32 位的寻址能力了,如果这些门牌号码都分配给内存的话,正好能访问
2、4g 的数据,但由于部分的门牌号码被 windows 保留下来给外设使用了,所以实际上所能访问的数据也就小于理论上的 4g 了。网上有人说用 Readyfor 4GB 这个工具能把这些保留的地址拿出来给内存使用,但是这样会导致系统不稳定,微软之所以保留这些地址,必然是有他的原因的,微软那么多高级工程师,咱可以怀疑一个,怀疑几个,总不能说人家全是 2 啊。后来在网上发现了一个变通的方法,大家都知道当内存不够用的时候就会读写磁盘当虚拟内存,如果我们把多出来的 1g 内存模拟成一个磁盘供虚拟内存使用,那不就变相的使用了多出来的 1g 内存了吗?以下内容转载自网络。http:/ 由于内存便宜,现在不少
3、本本标配基本都是 2GB,也有不少已经开是配 4GB 的,例如 Y530A-PEI 等,也有不少人购买新 NB 时,基于一次到位原则,一次将自己的本本内存加到 4GB 攻顶,或者后期升级至 4GB,例如我的 Y510A 高配,虽然现在大部分的 NB 硬件抓得到 4GB,但却没保证软件的操作系统可以抓到 4GB,只要是 32 位的 Windows XP 或 Windows Vista,都只能抓到 3GB,难道一定要装64 位的 Windows XP 或 Windows Vista 才能解决吗? 下面是我总结网上的经验及我自己的经历写的:)问题: 理论上 32 位的操作系统可以抓到 4GB,但从
4、Windows XP SP2 后,基于一些原因,微软让 32 位的 XP 和 Vista 都只能抓到 3GB,当然装 64 位的 XP 或 Vista 是好方法,但是联想 64 位的驱动还是没有完善,加上如今绝大部分的应用程序仍是 32 位,一来 64位操作系统兼容性堪忧,二来在 64 位操作系统跑 32 位应用程序速度更慢,所以绝大部分的用户仍选择 32 位的操作系统。 大家会想将内存加到 4GB,无疑就是希望自己的 NB 跑得更快,但 32 位操作系统先天只能抓到 3GB 的事实无法改变,所以我们转而希望 XP 能用到4GB,并且让 NB 跑得更快,这样钱就没有白花了。解决方案: 我们希望
5、将 XP 抓不到的 1GB 给 RamDisk 用,利用 RamDisk 来加速 NB。什么是 RamDisk 呢?简单的说,就是将内存仿真成硬盘,由于内存速度远快于硬盘,将大幅增加 I/O 速度,这样 NB 就跑得更快了。 安装 Ramdisk前奏:确认你的系统打开了 PAE(物理地址拓展) ,方法可以用 EVEREST 查看,也有其他方法,我就不一一表述了,自己网上搜一下,重点讲下如何打开,现在的硬件基本上都支持 PAE,一些老的可能不支持:)XP 系统打开 PAE:打开 c:boot.ini,删除里面的/EXECUTE, /NOEXECUTE=AlwaysOff 等等参数,增加/PAE
6、参数,确定系统已打开 PAE.现在大多优化的 32 位 XP 都是默认就打开了 PAE,那这步就可忽略。VISTA 系统:(1) 、点击开始菜单,在搜索框(或运行框)中输入“cmd“,按下 Ctrl + Shift + Enter (进入 cmd 的管理员模式)( 2) 、输入以下命令并回车即可: BCDEdit /set PAE forceenable 。进入主题:Step 1: 下载 Ramdisk_4G,这是个修改过的版本,让 RamDisk 能建立在 XP 所抓不到的 1GB 上。 各位可以在附件中找到。115 下载页面:http:/ 2: 将 Ramdisk_4G 解压缩然后放到 C
7、:rogram Files目录下。Step 3: 执行 ram4g.reg,将对 registry 做一些必要的修正。 一定要做这一步,开始我没有注意,结果是在系统用的 3GB 里面分了 1GB出来。Step 4: 右击 ramdisk.exe 选择使用管理员权限运行,将出现以下画面。先点击建立虚拟盘(Install ramdisk),然后系统会自动安装硬件,安装完成后在设备管理器里面看到 RAMDISK 硬件,然后设定 Disk Size 为 1G,Drive Letter 预设为 R:,可自行调整,Media Type 选择Fixed Media,选择应用或者 OK. Step 5: 重新
8、启动,就会发现可用内存没有减少,却多了一台 1G 的 RamDisk。验证是否用了高位内存的方法有两个:一个是看使用 RAMDISK 前后内存占用率是否发生大的变化.二是把 R 盘设置成最小 16MB,到我的电脑看 R 盘属性大小,如果超过 16MB,一般该数目是总数减去系统认出数.这就表明已经用了系统没有用到的高位内存了.到此我们已经把其中系统用不上的 1GB 虚拟了一个盘,但是怎么用才能达到当内存用的效果呢,不可能就当硬盘用吧?下面来说说怎么利用它加速我们的系统:使用 1G RamDisk 加快速度RamDisk 设定好后,只是让 RamDisk用到 XP 用不到的 1GB 而已,还不能加
9、快速度,还需做以下设定: 1:将虚拟内存设定到 RamDisk 理论上只要内存够多,是不需设定虚拟内存,尽管 XP 只能抓到 3GB,也是相当够用,不过有些应用程序(如 Photoshop)在启动时会检查虚拟内存是否存在,若不存在会提出警告;有些应用程序若没设定虚拟内存,会导致执行不稳定,所以一般来说还是建议设定虚拟内存,传统由于将虚拟内存设定在硬盘,由于硬盘速度慢,导致整体效能变差,不过由于现在将虚拟内存设定在 RamDisk,等于还是在内存跑,所以不会影响效率。 要将虚拟内存设定多大呢?这要看你实际要跑的应用程序而定,以我个人常用的 Visual Studio、Quartus II、Nio
10、s II EDS、ModelSim、Photoshop 等大型软件而言,设定 512MB 虚拟内存在 RamDisk 就可以跑的很顺。我个人设在 300 到 512MB。Step 1: 我的计算机右键单击,选择,点选高级,在下按按钮。 Step 2: 选,在部分按下。 设定 512MB 虚拟内存在 RamDisk 上,你可依照你实际需要改变之。2:将 IE7 Temporary Internet Files 设定到 RamDiskIE 每次浏览网页时,会将 HTML 和图片下载到硬盘,现在改成下载到 RamDisk,将有助于 IE 执行速度。实际上会比硬盘快一点,尤其是打开图片等比较多的网站,
11、当然前提是你网速够快:) Step 1: 工具-英特网选项 Step 2: 按下 Step 3: 按下,将目录设定到 RamDisk。3:设定系统变量 Temp很多应用程序在执行过程都会产生暂存盘,然后将暂存盘存放在系统变量所指定的目录。如 Photoshop 执行当中会产生大量的暂存档,若将暂存档存放在 RamDisk,将大幅提升 Photoshop 执行速度。 Step 1: 在右键单击,选择,点选高级,按下按钮。 Step 2: 将 TEMP 和 TMP 两变量改到 RamDisk 上。 这样设定后,大部分的应用程序都会将暂存盘存放在 RamDisk 了,不过有些应用程序对于暂存盘有自己
12、的设定,所以请自行设定之。但是这样设定有个不好的地方,例如你一个压缩文件你不想解压缩就打开里边比较大的文件,超过你的 RAMDISK 盘剩余空间的时候就会打不开。所以请自己考量是否需要。4:将 P2P 下载的软件放到 RamDisk:P2P 唯一最让人诟病的是伤硬盘,若将要分享的档案放在 RamDisk 中,则硬盘完全不需读写,由于 P2P 软件众多,请自行设定之。5:把一些文件或者程序(绿色软件)放到 Ramdisk 上运行和打开,那会非常快。当然是空间足够大的情况下。PS:另外提醒一下,RAMDISK 由于是用内存虚拟出来的,免不了关机后上面的文件会丢失,所以重要资料请不要放在上面,以免丢
13、失!总结:内存要怎么使用,各有巧妙不同,若花钱买了大量的内存,只是放在那边没用,也是一种浪费。除了一些非常耗内存的软件,如VMWare、SQL Server、Oracle.等,一般来说,Windows XP 只要有 2GB 的内存就可以跑的非常顺,若加到 4GB,另外 2G 的内存该怎么善加利用,就是一门艺术了。由于 32 位的 Windows XP/Vista 只能抓到 3GB,将抓不到的 1GB 给 RamDisk 用可以说是绝配,论坛常有用户询问反应装了 4GB 内存后,但 Windows XP 抓不到 4GB 内存的问题,或和想了解 RAMDISK 的朋友,希望本文能有帮助。 备注目前这个方法我用Y510A 机器在 32 位 Windows XP Pro 和 Vista U 版本测试成功,Vista 已经用了近一个月了,稳定性没有问题但是我 u 知道其他机器是否可行,还请自行实验,有问题可以跟我交流。上些图:开始我没有导入注册表文件,结果我分的是系统用的 3GB 里面的,所以使用内存立马上升到 68%左右。以为不行了,后来再试就 OK 了。