XP/win2003下发现1G的内存比512M还慢的解决方法_应用技巧

内存越大,机器越快?我想大多数人的回答都是肯定的,从256M到512M的提示是明显的,所以想当然的,从512M到1G的提升也会很明显吧。但是我用我的亲身经历告诉你,1G的内存比512M还慢,当然前提是你什么都不设置。

  前几天我把我的Compaq N410c扩展到了1G的内存,2×512M pc133的SD,结果扩展之后发现机器不但还跟原来一样,有点卡,而且休眠时间变长了,这是肯定的啦,休眠就是把内存里的东西拷贝到硬盘上,内存越大,休眠时间肯定越长了,这让我很郁闷,难道我花了500多升级我的机器,反而比原来更慢了。

  我用memstate这个软件实时监测我的内存情况,发现一直都有600多兆的空余内存,这说明机器的内存是非常够用的,甚至很多都在被浪费着,可是机器为啥还是这么慢呢?于是我到google上找原因,结果发现已经有很多人发现这个问题了,并且已经有了权威的解释,这里我把关键的部分摘抄出来,并结合自己的使用心得与大家分享。
注:这里的修改以及使用方法均针对XP系统。

  一、修改注册表发挥大内存优势

  现在请打开注册表编辑器,找到

复制代码 代码如下:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Momory Management] 

在右侧窗格修改一些键值,具体如下(要注意的是,做一下设置的前提是内存最好超过512MB,并仅限于Windows 2000/XP)。

  (1)"LargeSystemCache"(启动大的系统缓存):在内存中开辟一块大的内存空间用于磁盘文件系统的预读取操作。当程序连续请求的数据增加时,Windows通过系统缓存自动预读,使程序能以最快速度获取所需数据。由于启用这个系统缓冲会占用较多的物理内存,使得能被程序利用的可用物理内存减少。将其值设为1。这样,系统缓存从4MB增加到8MB。

  (2)"SecondLevelDataCache"(提高cpu性能):CPU的处理速度要远远大于内存的存取速度,而内存又要比硬盘快得多。这样CPU与内存之间,内存与磁盘之间就形成了影响性能的瓶颈效应,前面的"LargeSystemCache"是为了缓解内存与磁盘瓶颈而设计的,而CPU为了能够迅速从内存获取处理数据也设置了一种缓冲机制L2 Cache(二级缓存)。调整这个键值能够使Windows更好地配合CPU利用该缓存机制获得更高的数据预读取命中率。建议将其设置为512。

  (3)DisablePagingExecutive(禁用页面文件):将其值改为1(十六进制),这样将使所有程序和数据强制性限定在物理内存中运行,而不是使用虚拟内存。很明显,当有足够多的物理内存来完成所需任务时(比如1GB以上),这样做必使系统性能得到巨大的提升。对于内存仅有128MB甚至更少的用户而言启用它或许就是灾难——系统频繁出错,直至崩溃。

  (4)"IOPageLockLimit"(定制输入/输出缓冲尺寸):输入输出系统是设备和微处理器之间传输数据的通道,当扩大其缓冲尺寸时数据传递将更为流畅。同理,具体设置多大的尺寸要视物理内存的大小和运行任务多少来决定,一般来说,如果内存有64MB就可将该双字节键的16进制值设置为400(1MB)、800(2MB)或1000(4MB)128MB内存可设为1000(4MB)、2000(8MB)或4000(16MB);256MB内存4000(16MB)或8000(32MB)。当然如果有更多内存,完全可以将其设为10000(64MB)甚至更多。当设为0时,Windows将自动配置。

  设置这些之后,重启系统即可。其实修改这些的效果并不是很明显,不过心理上总有个安慰吧,下面的才是让你感到质的飞跃的地方。

  二、利用虚拟硬盘软件

  这里要向大家介绍一个软件,RAMDisk Plus,这个软件就是把内存的一部分划分出来作为一个磁盘分区用的,你可以把一些临时文件夹转移到这个分区上,比如IE的临时文件夹,这样会大大提升你浏览网页的速度。内存的传输速度和硬盘的传输速度的差距我想大家都清楚吧,用内存的一部分作硬盘相当于添加了一个几十万转的硬盘,速度的提升可想而知。这个是我的亲身体会,我把我的内存中的100M划出来作为一个分区,然後把IE的临时文件夹挪到上面,重启之后,打开网页就是一瞬间,以前即便是在网速很好的半夜,也没有这么快的,看来很多时候网速不是瓶颈,机器才是瓶颈啊,尤其是那些图片较多,需要缓存的网页,大家可以试试。划出这100M内存之后,我现在的正常可用内存还保持在500M以上,还有好多空间啊,好在RAMDISK plus可以添加多个分区,我可以再划出来几个分区,然后把一些常用程序放进去,这样运行起来肯定也快多了。

  不过记住,内存掉电后里面东西就都没了,但是还好,Ramdisk plus提供了关机自动保存的选项,也就是关机的时候可以把虚拟硬盘分区中的东西保存到实际硬盘分区中你指定的地方,然后开机的时候再load回来,跟休眠的道理差不多啦,只是这样就会导致关机时间和开机时间变得很长,所以我建议只在虚拟硬盘分区上放临时文件,反正临时文件迟早是要被清空的,放到ramdisk上还省去了手动清空的麻烦。

时间: 2024-08-01 03:14:49

XP/win2003下发现1G的内存比512M还慢的解决方法_应用技巧的相关文章

ASP同一站点下gb2312和utf-8页面传递参数乱码的终极解决方法_应用技巧

①.页面文件使用正确的编码,gb2312使用ANSI,utf-8使用utf-8: ②.ASP代码中设置正确的CODEPAGE,gb2312使用936,utf-8使用65001: ③.HTML代码中设置正确的charset,gb2312使用gb2312,utf-8使用utf-8: ④.将传递的参数值使用js的escape函数进行编码: 示例代码 t1.asp(ANSI编码): 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936&

asp.net下无法循环绑定投票的标题和选项的解决方法_实用技巧

问题:1,无法循环绑定投票的标题和选项 解决方法: 在Repeater绑定中添加ItemDataBound事件,选项用RadioButtonList绑定,附源代码: Default页,源页面 复制代码 代码如下: <div> 广大网友对保障房建设相关问题调查<br /> <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemData

Asp下Access无法更新的解决方法_应用技巧

在windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为: 1.Microsoft JET Database Engine (0x80040E09) 不能更新.数据库或对象为只读 2.Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询. 3.Microsoft JET Database

doscan.exe进程占用了大量的CPU和内存的解决方法_应用技巧

症状 在安装完Symantec AntiVirus Corporate Edition 10.0或Symantec Client Security 3.0重启电脑后,发现doscan.exe进程占用了大量的CPU和内存,在doscan.exe进程结束后,rtvscan.exe进程使用约40 MB的内存,使电脑运行速度变慢. 解决方法 这个问题已在Symantec AntiVirus 10.0.1 和 Symantec Client Security 3.0.1 中得到修复,安装上述版本的软件就可

win2003服务器asp.net权限设置问题及解决方法_实用技巧

服务器asp.net权限设置问题及解决方法 本人服务器使用环境:WIN 2003 ASP.NET相对于ASP,设置权限方面有点不同,有一点儿设置错了都运行不到.在网上搜索到的都是很垃圾的答案,没有一个用得到的,下面是我自己设置并从中遇到的问题摸索后得到的经验,给大家分享. ASP.NET需要用到USERS组的权限,因为我也遇过很多次自己设置了权限之后发现网站运行不了,很郁闷.下面根据出现的问题,一点点解决,让你的ASP.NET运行起来.. 问题一: 未找到路径"C:\"的一部分. 说明

asp.net实现访问局域网共享目录下文件的解决方法_实用技巧

本文以实例讲述了asp.net实现访问局域网共享目录下文件的解决方法,完整代码如下所示: using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls;

关于 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。的解决方法_实用技巧

先来介绍一下出现这个错误的原因.看到园子中有人写了Web Api 2.0的博文,自己也想学习一下这个技术,于是就去了Microsoft官网看了一下关于web api的介绍,之后就有自己动手写个demo的冲动了,由于自己安装的是vs2012,需要升级到sp4,但是自己又不想升级到sp4,关键还是自己想体验一下vs2013,于是乎就苦苦等了2个小时,vs2013终于下载好了,安装好之后,激动人心的时刻终于到来了,马上就可以自己写一个web api的demo了,而且2013的速度比2012好,按照微软

asp下UTF-8页面乱码的解决方法_应用技巧

为什么在ASP里指定了codepage为65001还经常显示乱码.才子在这里将这个问题详细解释一下,以免很多朋友再走弯路,甚至排斥UTF-8. 如果你还不知道UTF-8是什么东东,那才子建议你先去搜索一下UTF-8的相关资料吧. UTF-8编码之所以被越来越多的人接受甚至喜欢,肯定是有道理的,在WEB2.0盛行的今天,在大谈多浏览器兼容的同时,不得不想到字符编码不同所造成的乱码现象同样需要得到很好的处理..... 在N年以前,IE6以下的所有版本,只要没有安装相应的字库,访问相关的页面都是会乱码

IE10下Gridview后台设置行高不起作用解决方法_实用技巧

原来在Page_Load写的 复制代码 代码如下: GridView1.HeaderStyle.Height=17; 发现在IE10 中不起作用 查看生成后的HTML代码,发现也有height:17px 这个元素,但就是没有起作用. 以为是Page_Load里不行 所以又放到 "RowCreated"和"RowDataBound"这两个方法里面发现还是不行 超郁闷!!! 后来脑袋一转弯,既然生成在TR里面不行,我就放到TD里面,改成下面 复制代码 代码如下: e.R