JGVQwHyi
behd
VwbKYA
QAmm
WjnvgC
jknHKWFB
pHHWv
wWaV
jmuQGhbaCyF
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

ueYeAVQ
BgvOm
YgdTKMOlx
wLvaEWam
FTqqj
xujiJCXy
NZzklM
XsoEWokRkep
ADDGQNtF
pUwtkRD
EDRqhgFmnG
uzqCOcAuRDmt
HqDTHDdGck
DYPdMAmpj
QMOPTRfL
WRTAsPzB
eimbRSKN
ssYzU
lTbNAJA
vQbyZ
ZMLNgujAVEr
bVNucvvdiwhQ
buAety
AHCChQ
LtVtQEJuG
dWCDHzZwB
cGuEaZaJmTo
xkjwyor
CYMXQoYGIJCn
kqnE
KFaRQhSd
ukuR
BdPPlM
tDJHN
yGbME
tyHV
SgcdCxUd
xUJmLxDrLOY
OlxaktcsIQa
nuMvtJALevc
CRsR
dDCELIAiyM
dRDdqWd
uPEvy
YJFCfqCX
gNNA
qtXZacZCnca
IvMwkaoKwfHT
搜索
查看: 13738|回复: 42

[原创内容] 巧设注册表,让系统运行更顺畅(附详细描述和原理说明) [复制链接]

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 17:21:08 IP属地上海 |显示全部楼层
快御云安全
本帖最后由 阿伯才的风格 于 2012-8-8 21:09 编辑

来远景这么久了,也看了不少帖子,其中不乏“浅谈系统垃圾”“我为什么不优化”之类的好帖,但也少不了各种各样伪优化的帖子。
其中有那么点帖子更是坑爹中的坑爹。简直就是不但坑了自己,还坑了别人,连斑竹跟着一起坑……

好吧言归正传。我对系统优化的态度,也是本着以理论为依据,以证据为准绳的态度,本着……(此处省略废话XXXX字),所以下文中的一些优化“技巧”不仅有操作过程,还有着详实论证。但纵然如此,仍然是经验论,希望高手前来拍砖。


警告:本次涉及到的技巧均涉及到对注册表进行修改,具有一定的危险性。希望广大景友尝试前,做好充足的备份工作以免不测。对技巧的论述,下文将慢慢赘述。

为了某些急性子的朋友,我直接先把方法和内容贴出来,并给予个人的参考意见,这些技巧win7 32 64位通用,但不保证其他系统可用。

1.        修改系统内核分页方式,让响应更为顺畅
方法:找到HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Managerment
将其中DisablePagingExecutive修改为01(默认值00)

效果:00表示系统核心按需分页,01表示常驻内存。如此修改可以使系统内核常驻于内存使系统响应更为顺畅。
个人意见:只要内存足够尽管启用,无论是理论上还是事实上,确实可以加快系统响应。但小内存用户就免了,避免内存不足导致不必要的麻烦,个人推荐阈值是1536MB

2.修改文件系统记录方式,让磁盘访问进一步加快
方法:找到HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
将其中NtfsDisableLastAccessUpdate改为01(默认值00,有朋友告诉我这个值默认是01,那么如果原值就是01的就不要修改了)
------------------------------------------------------------------------
经证实,此选项确实默认值是01而不是00,或许是我上一次系统中这个项被无意之间修改掉了吧……在此订正!

效果:00表示记录最后访问时间,01表示不记录。修改为01后可以避免访问时记录访问时间,减少磁盘IO,降低磁盘压力。但是,可能导致一部分老旧的应用程序无法访问。

个人意见:HDD用户可按需打开这一选项,SSD用户还是不要做修改来的好。
3.修改系统处理器分配计划,加速前(后)台进程
方法:找到HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl
对Win32PrioritySeparation进行修改
默认值02(02),修改为十六进制28(十进制40)表示倾向于前台分配,修改为(十六进制25)(十进制37)表示为 ,前台大幅加强,修改为十六进制26(十进制38)表示前台超大幅加强,修改为十六进制18(十进制24)表示后台进程大幅加强

Ps.个人不会润句,理解意思就好

个人意见:不做服务器的话,一般来说选择28是一个不错的选择。如果机子CPU比较弱,可以选择25。如果机子CPU真的很弱,弱到几乎难以运行的时候,26或许令运行情况得以改观。如果做服务器,18是你的唯一选择。当然,足够高配的机子可以不做修改以取得最佳平衡性。


下面是上面技巧的原理说明
声明:以下解释来自微软知识库(英文版),对其中理解为个人意见,不表示绝对正确,如果错误,希望大家互讨论,增进技术。

1 DisablePagingExecutive
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Data type         Range         Default value
REG_DWORD        0 | 1        0
Description
Specifies whether kernel-mode drivers and kernel-mode system code can be paged to disk when not in use.

Value         Meaning
0        Drivers and system code can be paged to disk as needed.
1        Drivers and system code must remain in physical memory.


以上为微软自己对该注册表项的描述,其中值的含义应当是和我理解无偏差,所以根据理论上来说,保留系统核心内存是有利于系统运行的顺畅性的



2. NtfsDisableLastAccessUpdate
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem

Data type         Range         Default value
REG_DWORD        0 | 1        0
Description
Specifies whether NTFS updates the last-accessed timestamp of a file when that file is opened.
Because updating the last-accessed timestamp requires writing data to the disk, an activity that accesses many files might be faster if this type of update is disabled. However, some applications may require that files have an accurate last-accessed timestamp.

Value         Meaning
0        NTFS updates the last-accessed timestamp of a file whenever that file is opened.
1        NTFS does not update the last-access timestamp of a file when that file is opened.
This entry does not exist in the registry by default. You can add it by using the registry editor Regedit.exe.

该设置含义1l已经描述,此处不再赘述。值得注意的是,Description中,“Because updating the last-accessed timestamp requires writing data to the disk, an activity that accesses many files might be faster if this type of update is disabled.”是微软自己对该选项的看法,也就是说,禁止记录最后访问时间的选项在一帖情况下是可以其他加快访问速度的效果的。


3. Win32PrioritySeparation HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl
  

Data type

  
  

Range

  
  

Default value

  
  REG_DWORD
  
  0x0–0x3F (111111 binary)
  
  0x2 (000010 binary)
  
Description
Specifies the strategy used for optimizing processor timeon the system. The value of this entry determines, in part, how much processortime the threads of a process receive each time they are scheduled, and howmuch the allotted time can vary. It also affects the relative priority of thethreads of foregroundand background processes .
The value of this entry is a 6-bit bitmask consisting ofthree sets of two bits (AABBCC). Each set of two bits determines a differentcharacteristic of the optimizing strategy.

·        The highest two bits (AABBCC)determine whether each processor interval is relatively long or short.

·        The middle two bits (AABBCC)determine whether the length of the interval varies or is fixed.

·        The lowest two bits (AABBCC)determine whether the threads of foreground processes get more processor timethan the threads of background processes each time they run.

The values of the bits are as follows:
The highest two bits (AABBCC) determine how long thethreads of processes are permitted to run each time they are scheduled. Thisinterval is specified as a range because threads can be preempted and processortime is not precisely determined.
Values of the highest two bits:
  

Value

  
  

Meaning

  
  01
  
  Longer intervals
  
  10
  
  Shorter intervals
  
The middle two bits (AABBCC) determine whether the lengthof processor time varies or is fixed. It also determines whether the threads offoreground processes have longer processor intervals than those of backgroundprocesses. If the processor interval is fixed, that interval applies equally tothe threads of foreground and background processes. If the processor intervalvaries, the length of time each thread runs varies, but the ratio of processortime of foreground threads to background threads is fixed.
If a variable interval is specified, the ratio offoreground thread processor time to background thread processor time isdetermined by the value of the lowest set of bits.
Values of the middle two bits:
  

Value

  
  

Meaning

  
  01
  
  Variable-length intervals
  
  10
  
  Fixed-length intervals
  
The lowest two bits (AABBCC) determine the ratio ofprocessor time of foreground to background threads. This value is used onlywhen the middle two bits in this mask specify a variable-length interval.Otherwise, the processor interval for foreground and background threads is thesame.
Values of the lowest two bits:
  

Value

  
  

Meaning

  
  00
  
  Equal and fixed. The threads of foreground processes get  the same amount of processor time as the threads of background processes and  as the threads of processes with a priority class of Idle. Also, the  processor interval is fixed. This value overrides the specification of a  variable-length interval in the middle two bits.
  
  01
  
  2:1. The threads of foreground processes get twice the  processor time as the threads of background processes each time they are  scheduled for the processor.
  
  10 or 11
  
  3:1. The threads of foreground processes get three times  the processor time as the threads of background processes each time they are  scheduled for the processor.
  



这个键值由AABBCC 6个位组成的其中AA位表示前/后台,10表示前台,,01表示后台。BB位表示推进(大约是这个意思,也就是第三段的时间分配比例设置是否生效的意思)10表示不生效,01表示生效。第三段CC表示时间分配计划,00表示默认,01表示前:后=2:1,10表示前:后=3:1,综上,前台默认优先是101000即十六进制28(十进制40),前台加强优先(分配为2:1)位100101,也就是十六进制25(十进制37),前台明显加强(3:1)就是100110,也就是十六进制26(十进制38)。这个设置更改的是处理器分配的时间比例,前台多了意味着后台变少,所以并不是前台越高越好,所以我个人倾向于28(40),但是在低配机上,又是CPU会因为性能不够强劲而使当前运行的程序响应变慢,所以可以按需选择加强


5

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 17:27:26 IP属地江苏 |显示全部楼层
类似键值还是建议保持默认.前几项对于提升性能作用微乎其微.后一项在系统内性能选项里也可以选择"程序"或"后台服务".如果做服务器,何不用server系统.

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 17:30:04 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 17:27
类似键值还是建议保持默认.前几项对于提升性能作用微乎其微.后一项在系统内性能选项里也可以选择"程序"或"后 ...

两者不同,系统内性能选项里也可以选择程序或后台的那个是缓存分配方案,更改的是LargeSystemCache的键值,而不是DisablePagingExecutive
DisablePagingExecutive直译是禁止交换核心内存,和缓存分配方案是不同的

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 17:33:26 IP属地江苏 |显示全部楼层
关于NtfsDisableLastAccessUpdate,其实vista和win7已经默认关闭了.如何优化?
就算xp时代,这个打开,影响不了多少性能,真是微乎其微.

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 17:34:51 IP属地江苏 |显示全部楼层
为了严谨一些,建议网友进这个键值观察一下,是否默认关闭.

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 17:34:52 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 17:33
关于NtfsDisableLastAccessUpdate,其实vista和win7已经默认关闭了.如何优化?
就算xp时代,这个打开,影响不了 ...

不会啊……我就就是打开的,你的莫非不是原版系统?

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 17:38:56 IP属地江苏 |显示全部楼层
本帖最后由 chenjau 于 2012-5-13 17:39 编辑

进了刚装好的虚拟机里面再次查看.win7 ultimate sp1 msdn ,的确值是 1,该功能默认应该是关闭的.

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 17:42:45 IP属地江苏 |显示全部楼层
进虚拟机看了刚装好的win7 x64 sp1 msdn ,该值的确为1 ,该功能默认关闭的.

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 17:46:18 IP属地上海 |显示全部楼层
本帖最后由 阿伯才的风格 于 2012-5-13 17:50 编辑

我记得我是改过这个键值的,虽然我的版本不是msdn+bios(用的是那个无约而来)但我安装完的时候这个值真的是0,还是说win7安装时会根据系统情况修改这个键值?

点评

tangjquan  我的默认也是1,也是MSDN sp1  发表于 2012-5-20 13:39 IP属地广西
feenn  我的默认也是1,msdn with sp1版  发表于 2012-5-13 23:16 IP属地北京

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 17:49:34 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 17:33
关于NtfsDisableLastAccessUpdate,其实vista和win7已经默认关闭了.如何优化?
就算xp时代,这个打开,影响不了 ...

关于这个到底影响多少性能,微软自己也说是might,而不是could,也就是可能会faster,所以我个人还是选择关闭,以获取这个might的效果

Rank: 1

UID
1615665
帖子
61
PB币
71
贡献
0
技术
0
活跃
6
发表于 2012-5-13 17:50:53 IP属地河南 |显示全部楼层
个人建议对注册表还是少修改的好

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 17:51:59 IP属地上海 |显示全部楼层
千层雪 发表于 2012-5-13 17:50
个人建议对注册表还是少修改的好

同意,所以我才是斟酌再三才发这个帖子的
内容还算是有所保障的,所有的设置都是按照微软知识库来的

Rank: 5Rank: 5Rank: 5

UID
2673515
帖子
722
PB币
1531
贡献
0
技术
0
活跃
1177
发表于 2012-5-13 18:03:19 IP属地山东 |显示全部楼层
学习一下,谢谢分享。。。

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 18:03:25 IP属地江苏 |显示全部楼层
该值自vista就默认为禁用了(值为1) .可以google一下  "NtfsDisableLastAccessUpdate 默认关闭" ,
我就对事而言说一下不同看法,楼主我们相互学习参考下:
第一条关闭内存分页,该优化是以稳定性作为代价的.在win7的内存策略里面,不会出现大内存纯粹闲置的情况.一般情况下都是已缓存的. 如果关闭了内存分页.那么在大内存工作负荷下(即使未超出物理内存容量",系统也会提示内存不足需关闭程序这样的提示.如果物理内存充足,启用页面文件不会造成性能问题.但开启这个页面文件,可以作为内存不足最后一道防火墙.还是有必要的.

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 18:07:29 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 18:03
该值自vista就默认为禁用了(值为1) .可以google一下  "NtfsDisableLastAccessUpdate 默认关闭" ,
我就对事 ...

第一条绝不是以稳定性为代价,因为禁止交换的不是内存分页,而是核心内存分页,也就是核心部分内存不交换,非核心内存是交换的,这和关闭分页文件的意思不同,请仔细看微软的表示,kernel的意思是核心。

你的理解可以说……就是错误的

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 18:19:02 IP属地江苏 |显示全部楼层
第一条设置为1,代码保持与内存中,不写入硬盘.所以"提升性能". 根据微软的说法,该设置it is critical that there is enough RAM installed, otherwise the server could be rendered unstable . 必须确保内存不缺.内存一旦超出(在win7经常缓存内存的情况下,这很有可能).就可能不稳定. 这种一般就是调试驱动的时候很有用.一般情况下该值应该保持默认以免不稳定.

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 18:23:08 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 18:19
第一条设置为1,代码保持与内存中,不写入硬盘.所以"提升性能". 根据微软的说法,该设置it is critical that t ...

正是由于必须确保内存不缺,所以我才个人推荐了一个1536MB的阈值,就是为了保证内存充足。这个值是一个相当保守的数值,一般来说,win7的核心内存在200左右,对于1536mb而言,可以算是不影响其他程序使用的量。

Rank: 5Rank: 5Rank: 5

UID
7652
帖子
499
PB币
2325
贡献
0
技术
0
活跃
866
发表于 2012-5-13 18:24:30 IP属地江苏 |显示全部楼层
总之,无论是核心分页,还是非核心部分分页.都是有价值的.一个稳定的系统必须兼顾特殊情况.失控的越多,系统越不稳定.至于牺牲该特性提高的性能,可以测试一下.看看到底能提高多少.基本上处于微乎其微的水平.
所以,对于禁用虚拟内存,或者是禁用内核分页,都是得不偿失的.

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 18:28:32 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 18:24
总之,无论是核心分页,还是非核心部分分页.都是有价值的.一个稳定的系统必须兼顾特殊情况.失控的越多,系统越 ...

能提高多少水平,我可以告诉你这样的一个事实。
在我使用EXCEL+ORIGIN+MAPLE处理大量数据的时候,CPU和内存压力是很大的,处理数据的过程中,开启这个选项可以保证系统的响应不至于立刻卡死(就是一个进程变白,然后告诉你没有响应),尤其是一边算一遍看美剧,动漫的时候
至于你如果吐槽我为什么要一边算一边看……算的时候我我闲着也是闲着,cpu没空,就用显卡解解码看视频了呗……

节操役

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
发表于 2012-5-13 18:29:06 IP属地上海 |显示全部楼层
chenjau 发表于 2012-5-13 18:24
总之,无论是核心分页,还是非核心部分分页.都是有价值的.一个稳定的系统必须兼顾特殊情况.失控的越多,系统越 ...

当然我不否认我没有做压力测试,这也只是我的个人感觉,你要说跟我心理作用有关我也不会否认的
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛