荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: netlife (漂游), 信区: WinNT
标  题: Windows 2000之内存优化
发信站: 荔园晨风BBS站 (Sun May 27 19:50:48 2001), 转信

Windows 2000之内存优化

        ITdoor.net/Eric

  不管你用的是什么操作系统,内存子系统总是重点优化的对象。因为它不仅直
接影响RAM的性能,还决定了其它子系统之间的通信能力,进而影响整个系统的性
能。Windows 2000是一个基于"性能"的操作系统,所以充分挖掘内存子系统的潜力
是非常必要的。在本文中,我们要给大家介绍如何给操作系统消肿和优化注册表,
以达到改进系统性能的目的。不同的方面有不同的优化方法,我们首先从BIOS的优
化开始(BIOS的优化对所有操作系统有效);然后是其它一些优化。

  要注意在进行优化的时候,要以Administrator注册,否则修改无效。

BIOS优化
  在BIOS中有若干个与内存有关的选项,下面我们就给大家介绍几个最常用的:


CAS Latency-CAS延迟是一个决定系统内存列存取时间的参数。CAS延迟越小,系
统在读取RAM中不同数据时的速度就越快。现在大多数SDRAM CAS延迟标称值为3,
但基本上都可以达到2。在市场上也有标称值为2的SDRAM。至于 RDRAM,它的CAS延
迟要比SDRAM大得多,如果把CAS延迟设小一点效果非常显著。不过要注意的是改变
CAS延迟实际上是一种超频,要注意它的稳定性(可以运行如timedemo loop之类的
稳定性测试软件)。

RAS To CAS Delay-这项设置指的是行激活命令到读/写命令之间的时间。这个值
越小表示越快,在修改它时,也要注意系统的稳定性。

RAS Precharge Time -这项设置指的是DRAM预充电需要多少个周期的时间,越小
越好。在修改它的时候,同样要注意稳定性。

SDRAM Precharge Control-这项设置指的是系统如何管理SDRAM的预充电时间,它
有两个值Enabled和Disabled,在不同的系统上有不同的结果,建议在你自己的系
统上两者都试一下。

Shadow System BIOS-如果它为Enabled的话,在系统启动时会把BIOS中的内容拷
贝到主内存中,对大多数机器来说,启动速度和运行速度都会加快。

System BIOS Cacheable-当设为Enabled时,在必要时系统会把BIOS中的内容备份
到L2缓存中,加快BIOS的运行速度,效果比Shadow System BIOS还要好。当Shadow
 System BIOS也设为Enabled时,效果最佳。

注册表修改

  在注册表中有若干个关于内存的设置,但在修改时要注意,因为稍有错误就会
导致系统崩溃。所以在修改前要把注册表作一个备份,以备在出现问题是恢复。


  首先在注册表中找到[HKLM/System/CurrentControlSet/Control/Session
Manager/Memory Management],然后你会发现下面几个选项:

  DisableExecutivePaging -设为Enabled时, Windows 2000在运行可执行文
件时不用硬盘上的交换文件,这样操作系统和文件执行的速度会更快。但我们推荐
只有在系统内存大于128MB时,才将它设为Enabled,因为它也要占用一定的系统资
源。在默认状态下,它的值为0(Disabled),如果要设为Enabled就将它设为1。


  LargeSystemCache -当它设为Enabled时(服务器版的Windows 2000默认设置
为Enabled),系统会把除了4MB(作为硬盘缓存)以外的所有内存都用作文件系统
的缓存。Windows 2000会把自己的内核放到内存中,这样运行起来就更快。这项设
置是动态的,如果在某些情况下硬盘需要更多的缓存,系统会释放一些内存给硬盘
作缓存。在默认情况下有8MB内存是留作此用途的。

  此项设置的主要好处就是可以使操作系统运行得更快,并且它还是动态的,当
内存需求不大时,Windows 2000的内核就驻留内存;如果运行多个程序需要大量内
存,Windows 2000会把它的内核从内存中释放出来。0表示Disabled,1表示
Enabled。不过如果把它设为Enabled,系统会占用更多的内存,在一些任务很密集
的情况下,系统性能会下降。根据Micorsoft的说法,对那些自己进行缓存的应用
程序如Microsoft SQL,和需要大量内存才能得到最好性能的程序如IIS来说,此项
设置最好设为0。

  IOPageLockLimit -这项设置主要是服务器应用。如果设置合理,在进行大数
据量的文件传送和类似的操作时,可以提升系统的I/O性能。但是如果系统内存不
足128MB,那么这项设置不会有任何作用。如果系统内存超过128MB,可以把它设为
8-16MB,性能的提升会比较明显。默认值是0.5 MB( 512 KB),在设置时要注意
它是以字节数表示的,0.5MB为0.5×1024×1024=524288字节。在修改时,多设几
个值试一试,以得到最佳效果。

禁止启动时运行程序

  禁止启动时运行一些不必要的程序可以少占用一些内存。在Windows 2000中禁
止启动时运行程序不像Windows 9x/Me中那样简单,必须要修改注册表。注册表中
相关的项为[HLKM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN]。找到之后
,就可以进行修改了。不过还是要先做好备份,以防出现错误。

性能选项

  还有其它一些不需要修改注册表的方法可以优化Windows 2000,其中有一个就
是应用程序反应时间(Application Response),这项设置决定前台程序是否比后
台程序占用更多的处理器时间。在系统控制面板的高级页面(Advanced Tab)中选
择性能优化(Optimize Performance)项,你就能找到应用程序反应时间(
Application Response)设置。Application Response有两个值:一是前台程序优
化(Optimize Performance for Applications);一是后台程序优化(
Optimize Performance for Background Services)。如果选择前者,那么前台程
序就会得到更多的处理器时间;如果选择后者,后台程序会得到更多的处理器时间
,系统会根据后台程序的优先级(Priority level)给它们分配不同长度的处理器
时间。
  每个程序都有一个优先级,系统会根据不同程序的优先级来决定哪个程序更重
要,需要先执行并分配更多的运行时间。程序的优先级由两部分组成:一是优先级
类别(Priority Class)包括Real-Time, High, Normal, Idle四个值;二是线
程优先级(Thread Priority)包括Time Critical, Highest, Above Normal,
 Below Normal, Lowest,Idle六个值。如下表所示:
                                          Priority Class
                      ?? Real-Time High?? Normal Idle
                      Time
                      Critical 31 15 15 15
                      Highest 26 15 10 6
                      Above
Thread Priority Normal 25 14 9 5
                      Normal 24 13 8 4
                      Below
                      Normal 23 12 7 3
                      Lowest?? 22 11 6 2
                      Idle?? 16 1 1 1

从表中我们可以看出,优先级有从1-31共31级。系统就根据这个值给程序安排执
行顺序和分配运行时间。改变优先级有两种方法,一是在任务管理器中修改,具体
做法是在程序运行时,鼠标右键单击任务栏上的程序,在出现的快捷菜单中有修改
优先级种类的选项;二是可以用一个特殊的批处理文件(.bat)在启动时设定程序
的优先级,具体的语法如下面所示:

Echo off

Start /

例:

Echo off

Start /high c:\windows\notepad.exe

删除POSIX 和 OS2支持
  在微软的操作系统中都有对POSIX的支持,POSIX是一个多操作系统协同工作的
标准;同样OS2支持是为了运行OS2上的应用程序。如果你的机器中没有别的操作系
统,那这些东西根本就用不着,把这些东西删除可以节约一些内存。Microsoft没
有提供屏蔽这些功能的方法,不过没有关系,首先去除Windows的文件保护(这部
分的内容会在稍后的文章中介绍),找到winnt/system32目录,把OS2.exe,
OS2SRV.exe,PSXSS.EXE,OS2SS.exe和 POSIX.exe这几个文件删除,就OK了。不过
为谨慎起见,首先把这些文件改个名字,运行没有问题后,再删除它们。
  一般来说把这些文件删除掉不会有任何问题,但在Windows 2000的资源包里的
一些工具需要POSIX才能运行,这一点要注意。

删除无用的Windows组件

  在安装Windows 2000时,安装程序没有很大的灵活性,有些不想要的东西也给
你装上去了;或者是初次使用Windows 2000,不知道哪些有用,哪些没用,先一咕
脑儿全装上去,等熟悉之后再把一些没有的组件删除掉,释放更多的系统资源。下
面就给大家介绍一个可以打开几个隐藏选项的方法。用记事本打开sysoc.inf文件
(在winnt/inf目录下),你会看到有几条以"HIDE"开头的命令,把"HIDE"删掉(
注意不要把逗号也删掉了),保存退出重新启动系统,打开控制面板中的添加/删
除程序,选择Windows安装程序栏,你就会发现比原来多了几个选项。

堆栈压缩
  堆栈压缩也叫做内存碎片整理,在Win9x中早有应用。Windows 2000对内存的
管理和Win9x完全不一样,这个操作有没有效还是个问题。不过不管怎么样我们还
是介绍一下,内存碎片整理实际上是系统把主内存中所有的数据都捣到硬盘的交换
文件上,然后重新把数据装入内存;从计算角度来看,这个过程叫做堆栈压缩或者
叫垃圾清理。这个操作可以用一个很小的VB程序完成,具体做法是用记事本新建一
个文件,输入一行:Mystring = Space(16000000),把它存为后缀.vbs的文件。假
设在你的机器上已经安装了VB运行库(Windows 2000默认安装),当你运行这个程
序,它会把系统内存"冲刷"一新。在运行完一些有内存"空洞"的程序之后(所谓内
存"空洞"是指程序在运行完毕之后,还有一部分内存没有释放,不能被其它的程序
使用,就好像内存中有个洞一样),运行这个程序特别有用,它可以释放那部分"
空洞"内存。如果你的系统内存很大,可以把上面那条语句括号中的数值设大一点
,清理内存"空洞"的效果会更好一点,笔者最大设过80000000。

--
                     Wellcome to my FTP FTP://192.168.48.13
                         提供光盘刻录服务
                 -----------------------------------------------
                      数据光盘  音乐光盘  视频光盘  光盘复制
                   每张15元,包括700M光盘。多刻的价格可以商量:)

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.48.13]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店