安装大容量内存后系统还慢的原因

上传人:kms****20 文档编号:40471895 上传时间:2018-05-26 格式:DOC 页数:9 大小:33.50KB
返回 下载 相关 举报
安装大容量内存后系统还慢的原因_第1页
第1页 / 共9页
安装大容量内存后系统还慢的原因_第2页
第2页 / 共9页
安装大容量内存后系统还慢的原因_第3页
第3页 / 共9页
安装大容量内存后系统还慢的原因_第4页
第4页 / 共9页
安装大容量内存后系统还慢的原因_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《安装大容量内存后系统还慢的原因》由会员分享,可在线阅读,更多相关《安装大容量内存后系统还慢的原因(9页珍藏版)》请在金锄头文库上搜索。

1、安装大容量内存后系统还慢的原因安装大容量内存后系统还慢的原因安装大容量内存后系统还慢的原因 2007-12-21 17:31 一、Windows这样使用内存 想要知道为什么系统速度提升不再明显,必须先理解 Windows 怎样使用内存。这里要涉及一个概念资源。 这不是平时所说的 CPU 资源,内存资源或统一的“系统“资源。我们接下来要讲到的“资源“就是程序可以操纵的 Windows 物件。举例来说,屏幕上显示的每个窗口都是一个资源,每幅图片也都可以能是一个资源。如果一个应用程序打开了磁盘上的一个文件,那么这个被打开的文件也是一个资源。以此类推,如果一个应用程序需要使用一个资源,它就会向操作系统

2、提出请求,要求新建一个或从存储器里调用1情景再现:程序与系统的对话 程序说:“嗨,Windows,我要新建一个 300 像素宽,200 像素高的窗口,ok?“于是,Windows 立即按要求创建或调用这个资源进内存,然后反馈给应用程序一个代号:“好,我已经创建好你要的窗口,它的代号是#38710。“此后,需要用到新建的这个窗口时,应用程序都用 Windows 反馈的代号代表这个资源。“Windows,麻烦你在显示屏幕左上角显示#38710。“好!“最后,当应用程序不需要用到该资源的时候,它会要求 Windows 去除这个资源。“OK,请你删除#38710。“好!“。2指针内存中的邮政编码 那么

3、这个代号是依据什么标准生成的呢?在绝大多数操作系统中,它是靠一种叫做“指针“的东西来确定的。你可以把整个内存想像成一个邮局,邮递员把需要寄往各地的信件分类放到很多个不同的信箱里。信箱一个接一个,足足占据了一堵墙。每个心细那个都装了一些信件,包含要送往一个特定地区的信息。而且,就好像每个地区都有邮政编码一样,每一块可以存储数据的内存空间也有一个地址指针。代表这个存储空间的一串数字。内存中某部分数据的“指针“,也就是这些数据占据的第一处内存空间的地址。所以,如果我是一个普通的操作系统,有一个应用程序要求我调用一个窗口,我就会按照它告诉我的要求调用这个窗口进内存,如果这个资源的数据在内存中存储的地址

4、开始于#1234567,那么我就会返回一条信息给应用程序:“好了,我调出了这个窗口,它是 #1234567。“3解决指针带来的问题 在 PC 中,这种指针有 4 个字节长。所以如果一个应用程序需要给内存里的某个数据配一个指针,那就需要 4 字节的内存空间。这样的工作方式给早期的 Windows 设计者带来了不小的麻烦,因为那时制作工艺尚不发达,内存非常昂贵,一台电脑上有 8MB 的内存就足以让用户无数次从梦里笑醒了,大多数电脑只能配制 4MB 内存。在内存如此紧张的情况下,一个应用程序却经常需要用到几百万个资源。要用这些资源,就要个每个资源配发一个指针。每个指针占据 4 个字节,几百万个指针,

5、就会消耗掉数量客观的一块内存空间。这就好比一份钱很少,但如果要发给全国人民每人一份钱,那就是至少一千三百万元的巨款了。所以,Windows 设计者采用了另外一种替代方案。他们创建了资源表。就是把当前调入内存的所有资源的信息登记到一个清单。这样一来,当应用程序要求系统调用一个资源时,系统调用后就不给它配发指针了,而是直接告诉应用程序该资源在资源表中的序号。“好了,我已经调用了你需要的资源,它在资源表里面的序号是#383“因为需要不是内存地址,所以就可以用一个只需占用 2 字节的数字表示。这只是两个字节的差距。但当你只有几 MB 内存,而你运行的程序动咎调用大量资源时,这两字节的差距就会带来很大的

6、优势。 你知道吗?微软 64 位操作系统没 1GB 内存就别玩 在 32 位 Windows 2000/XP 中,最大支持 4GB 的内存,每个应用程序最多只能使用 2GB 内存,因为另一半的内存也留给系统使用了。而在 64 位 WindowsXP 中,这个限制没有了,每个程序能完全使用4GB 内存,除 Windows,微软还在开发 64 位版本的 SQL Server 2000 和 Windows Server2003,不过要运行这些应用程序,需要你的电脑至少得有 1GB 内存4时过境迁,妙计成缺陷 但这种方法也有它的弊端两个字节能够表现的不同数字非常有限 我们可以做个实验:请你写不同的数字

7、。如果只准你写一位数,那就只能写出十个不同数字。如果限制写两位数,虽然能写出更多,但总数仍然有限。以此类推,允许位数越多,能写出的不同数字就越多。但只要位数有限制,写出的不同数字的总数就始终有限。同理,如果允许系统使用 4 字节的序号,那么在这个 “位数限制“下,可以有几十亿个不同的序号可供使用。但如果只准系统使用 2 字节序号,能用的序号就会锐减到 65536 个。于是,前面我们讲的资源表就不能无限的拉长。其中的序号最多只有 65536 个 于是问题来了。当调用了 65536 个资源后,再想调用更多的资源,纵然内存空间还有 1GB,足以存储数百亿个资源,但只有 2 字节的资源表却无法生成更多

8、的序号!没有序号,就意味着无法将各资源区分开来,应用程序自然无法使用这些没有“户口“的资源!事实上,因为没有序号可用,系统根本无法同时调用 65536 个以上的资源。 但在 10MB 内存都是奢望的年代,要同时调用数十万个资源根本就是“无稽之谈“。所以当时的 Windows 设计者们没有把这个问题放在心上,果断地选用了资源表,选用了 2 字节序号。 今天,操作系统算是得到报应了。内存便宜了,资源表和 2 字节序号仍然给我们节省了内存空间,但它带来的坏处却远远超过了它带来的好处。我们有足够的内存空间,可以调用数百万个资源,但资源表里面只有 65536 个序号!所以同一时间内,内存中只能有6553

9、6 个资源!还有 1GB 内存空间可用?等着吧!5.真正“耗资源“的是谁? 明白了上面的道理,就不难分辨除了大个文件,大个程序外,真正消耗系统资源的是哪些程序了: 调用大量细小资源,把桌面装饰的花里胡哨的软件 各种多媒体播放软件 监视系统的工具软件 能在字体菜单里面预览字体的应用程序(如 MS Office) 另外,在 Windows 9x n/Me 中运行 16 位程序(如 DOS 程序)时,Windows 会划定一块内存供所有这类程序使用。除非所有 16 位程序都已经关闭,这块内存是不会被释放的6大内存的优势到底在哪里? 难道大内存就没有作用了吗?内存厂商在骗钱?当然不是。当一个应用程序被

10、启动后,Windows 的一些组件也随之被启动,这是很常见的事情。当应用程序被关闭,Windows 会保留那些组件不关闭,因为可能很快还要用到。同理,程序启动时调进内存的少数资源,也不会随着程序关闭而退出内存。 这时,大内存的有时正可以得到体现了。一方面,大内存可以一次性容纳大量数据,减少使用性能远不如内存的硬盘作为虚拟内存使用的几率,提高数据调用速度。另一方面,关闭程序过后,更多的常用数据会有充足的空间保留在内存中不被清除。一旦重启程序,你会发现明显比使用小内存时快!二.修改注册表发挥大内存优势 现在请打开注册表编辑器,找到HKEY_LOCAL_MACHINESystemCurrentCon

11、trolSet ControlSession ManagerMomoryManagement,在右侧窗格修改一下键值(要注意的是,做一下设置的前提是内存最好超过 512MB,并仅限于 Windows 2000/XP)。 (1)“LargeSystemCache“(启动大的系统缓存):在内存中开辟一块大的内存空间用于磁盘文件系统的预读取操作。当程序连续请求的数据增加时,Windows 通过系统缓存自动预读,使程序能以最快速度获取所需数据。由于启用这个系统缓冲会占用较多的物理内存,使得能被程序利用的可用物理内存减少。将其值设为 1。这样,系统缓存从 4MB 增加到 8MB。 (2)“SecondL

12、evelDataCache“(提高 CPU 性能):CPU 的处理速度要远远大于内存的存取速度,而内存又要比硬盘快得多。这样 CPU与内存之间,内存与磁盘之间就形成了影响性能的瓶颈效应,前面的“LargeSystemCache“是为了缓解内存与磁盘瓶颈而设计的,而CPU 为了能够迅速从内存获取处理数据也设置了一种缓冲机制 L2 Cache(二级缓存)。调整这个键值能够使 Windows 更好地配合 CPU 利用该缓存机制获得更高的数据预读取命中率。建议将其设置为 512(3)DisablePagingExecutive(禁用页面文件):将其值改为 1(十六进制),这样将使所有程序和数据强制性限

13、定在物理内存中运行,而不是使用虚拟内存。很明显,当有足够多的物理内存来完成所需任务时,这样做必使系统性能得到巨大的提升。对于内存仅有 64MB 的用户而言启用它或许就是灾难系统频繁出错,直至崩溃。 (4)“IOPageLockLimit“(定制输入/输出缓冲尺寸):输入输出系统是设备和微处理器之间传输数据的通道,当扩大其缓冲尺寸时数据传递将更为流畅。同理,具体设置多大的尺寸要视物理内存的大小和运行任务多少来决定,一般来说,如果内存有 64MB 就可将该双字节键的 16 进制值设置为 400(1MB)、800(2MB)或 1000(4MB)128MB内存可设为 1000(4MB)、2000(8M

14、B)或 4000(16MB); 256MB 内存4000(16MB)或 8000(32MB)。当然如果有更多内存,完全可以将其设为 10000(64MB)甚至更多。当设为 0 时, Windows 将自动配置。小提示 据称,此设置还能够有效解决 BT 下载损伤磁盘的问题。三Windows98/Me 能用 1GB 内存吗? Windows98/Me 不支持超过 1GB 以上的内存,同时,在内存超过128MB 后,还需进行特别调整才能使系统更好地管理和使用内存,并避免出现大内存引发的系统故障。所有的关键设置都围绕Vcache(虚拟高速内存)。 你知道吗? 什么是 Vcache? 它是 Window

15、s 为硬盘分配的、作为高速缓冲的物理内存,可以大大提高硬盘的读写速度,类似于 DOS 下的 Smartdrv 的用途。简单地说,Vcache 是 Windows 在物理内存中自动分配的一块空间,用来保存曾经使用过的,并且 Windows 认为还会被再次使用的代码和数据,这样当新的程序要求使用这些代码和数据时,就不必从硬盘中读取,而直接从内存中读取,这样速度会快出不少,从而大大提高系统性能。 (1)128MB512MB 据专家介绍,如果内存为 128MB512MB,最好用“记事本“打开c:windowssystem.ini 查找Vcache一节,找到以“MaxFilecache=“开头的一行,并

16、设置其值为物理内存的 70%(由于这里使用的数值以 KB 为单位,需要使用 MB*1024 或 Bytes/1024 的公式来转换数据),比如:你的内存为 128MB,那么就应该是128*0.7*1024=91750.4(约为 91750KB),该语句应写为“MaxFileCache=91750“ (2)512MB 以上内存 有些朋友会发现,当把内存增加到 512MB 以上后,启动Windows98/Me 或打开 DOS 窗口时,系统会提示“内存不足“。 这主要是因为 Windows98/Me 处理大于 512MB 内存时存在缺陷,因此最好将 Vcache 的 MaxFileCache 值制定为 512MB(524,288KB),也就是“MaxFileCache=524288“。 (3)1GB 内存 如果内存达到了 1GB 或更高,那么 Windows98/Me 会出现连续重启、死机或在使用 Windows Update 过程中不断重启的故障。要解决这个问题,同样是打开 System.ini 文件,在386E

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号