|
在注册表中有若干个关于内存的设置,但在修改时要注意,因为稍有错误就会导致系统崩溃。所以在修改前要把注册表作一个备份,以备在出现问题是恢复。
首先在注册表中找到[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
Thread Priority
Real-Time
High
Normal
Idle
Time Critical
31
15
15
15
Highest
26
15
10
6
Above 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
删除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默认安装),当你运行这个程序,它会把系统内存"冲刷"一新。在运行完一些有内存"空洞"的程序之后(所谓内存"空洞"是指程序在运行完毕之后,还有一部分内存没有释放,不能被其它的程序使用,就好像内存中有个洞一样),运行这个程序特别有用,它可以释放那部分"空洞"内存。如果你的系统内存很大,可以把上面那条语句括号中的数值设大一点,清理内存"空洞"的效果会更好一点。
|