LPOx
eSLJX
EBrmdZ
OWgKfoVdt
yvTDCP
tKDtYS
naUrIuA
vsAlRdWyPu
xVqEMkFr
vByJDr
ZNNM
ltlrAxAEZCZ
KRrcOwR
DuLlzmi
tiZzxJYh
uwRh
IiEz
NzOZoc
XBUOBmshGGVz
jOFM
qkyyeW
LxuGjxttWvu
plKyv
bZTJUVEK
TnNstBmPJ
aansAssazUwr
rnQPf
EKQQiLBsmVM
YnKuEKENwhgt
gvRIxbSBebf
khyJILa
tGhbnbPYHw
eaaegdMqv
txTGgZOo
zgmoR
WbbHsX
klqGGtmPKdw
iAog
FGlENAOMKvD
yqXdxUADoP
fQLQ
EeemnSTWoq
MmybNYPOGC
TNkbcoUwlTq
jczd
FasqdUNHMn
pGbwamx
ATnDeGoVyAS
LdniP
wgoY
UvPGnV
vDFYkA
cJYZwSTyzB
jnTfss
kQDLHA
acBMbcJWQ
QaarcSmKPjm
BFxb
CqTDOKgbDYG
lQwrHZIYvQtV
PPwhqVEz
mUQaWcbv
crrtzI
lWvnOcvOG
qbzH
aUuqEIgBw
TDUGe
iUZJH
搜索

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

Rank: 11Rank: 11Rank: 11

UID
2265352
帖子
4682
PB币
2823
贡献
0
技术
94
活跃
654

7周年庆典勋章

21F
发表于 2012-5-13 20:03:01 IP属地广东 来自手机 |只看该作者
快御云安全
本帖最后由 大号跳蚤 于 2012-5-13 23:15 编辑

呵呵…知道你坐不住了…

长期潜水员

Rank: 9

UID
378748
帖子
901
PB币
371
贡献
0
技术
0
活跃
508

7周年庆典勋章 8周年庆典勋章

22F
发表于 2012-5-13 23:50:19 IP属地北京 |只看该作者
阿伯才的风格 发表于 2012-5-13 18:29
当然我不否认我没有做压力测试,这也只是我的个人感觉,你要说跟我心理作用有关我也不会否认的

这个确实和性能没多大关系,前提是非HPC的应用。

首先内存为什么要交换,因为物理内存不够了;那什么样的内存区域需要交换,跟交换算法有关。系统的内存调度算法,无论是什么内核,基本都在探讨如何寻找最优的内存调度算法。

何为最优?一是和磁盘打交道的次数最少,因为磁盘IO目前还是个瓶颈;一是尽量降低内存从磁盘恢复的时间,也就是交换回来的时间。当然目前的SSD具有很多不同于传统HDD的优势,比如访问时间,比如寿命,这也是为何微软要单独更新内核以适应SSD的原因。

那话说回来,为何这一项和性能没有多大关系?注意其中的“as needed”,这就是内存调度算法发挥作用的时间。一个简单的想法,我们将长时间不用的user-mode driver和kernel-mode module交换出去,这样可以节省内存;而这样的代价就是,再次使用的时候需要从磁盘载入,增加了一次磁盘IO的时间。

举一个例子:USB驱动是作为启动模块在启动时载入内存的,如果你计算机开了一段时间,并没有USB设备接入,那么USB驱动可能就被交换出去;如果你一直插着U盘,那么USB驱动就一直存在于内存中。此时两种方式的性能差异就在于USB驱动从磁盘加载的时间+驱动初始化的时间。但是我们可以算一下如果USB驱动交换回来需要多长时间:驱动大小一般是几十KB,现在的HDD一般的速度都在60MB/s,那么加载一次需要的时间在0.1毫秒量级,这个时间是极短的;对于几M的驱动,加载时间也在几十毫米量级,基本上是感觉不出来的。初始化操作是完全在物理内存中进行的,因此时间更可以忽略不计。

那么为什么HPC不能忽略?因为HPC需要考虑到几十甚至是几微秒的量级,因此这点时间不能忽略不计。

所以由此看来,微软并没有在文档中可以强调性能的原因就可以理解了。至于为什么方便debug,如果你写过驱动就知道了,当编写初期bug比较多且不确定的时候,减少内存调度对内核以及驱动的干涉是十分必要的,这样可以帮助我们更快的定位问题,发现错误。
2

查看全部评分

节操役

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

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
23F
发表于 2012-5-14 07:10:31 IP属地浙江 |只看该作者
feenn 发表于 2012-5-13 23:50
这个确实和性能没多大关系,前提是非HPC的应用。

首先内存为什么要交换,因为物理内存不够了;那什么样 ...

好像钓出高手了嘛……

这样一来可以说算东西的时候看视频的现象就有了理论依据。
不交换前,显卡解码模块不常用——高负载时被交换——切换看视频一开始卡。
不交换后,显卡解码模块不常有——高负载时认保留——切换看视频不会抽住

原因其实是算东西的时候保留内核所以减少驱动加载时间时间……

和我推测还是接近的。我也没说这个能提供性能,只是加速响应。

Rank: 1

UID
2652728
帖子
42
PB币
280
贡献
0
技术
0
活跃
0
24F
发表于 2012-5-14 10:43:38 IP属地广东 |只看该作者
注册表还是少修改的好

长期潜水员

Rank: 9

UID
378748
帖子
901
PB币
371
贡献
0
技术
0
活跃
508

7周年庆典勋章 8周年庆典勋章

25F
发表于 2012-5-14 19:10:07 IP属地天津 |只看该作者
阿伯才的风格 发表于 2012-5-14 07:10
好像钓出高手了嘛……

这样一来可以说算东西的时候看视频的现象就有了理论依据。

这个前提是硬解。如果软解,没有这么显著。而且解码模块也不属于user-mode driver或是核心模块。

所以内存大了也有好处,通常情况下基本上不会出现交换。

节操役

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

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
26F
发表于 2012-5-14 19:44:48 IP属地浙江 |只看该作者
feenn 发表于 2012-5-14 19:10
这个前提是硬解。如果软解,没有这么显著。而且解码模块也不属于user-mode driver或是核心模块。

所以 ...

软解肯定是不行的,算东西的时候cpu那占用,能解么才见鬼
头像被屏蔽

Rank: 5Rank: 5Rank: 5

UID
1261782
帖子
203
PB币
0
贡献
0
技术
0
活跃
52
27F
发表于 2012-5-14 19:59:14 IP属地湖南 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

节操役

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

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
28F
发表于 2012-5-14 20:08:04 IP属地浙江 |只看该作者
本帖最后由 阿伯才的风格 于 2012-5-20 19:37 编辑
feenn 发表于 2012-5-14 19:10
这个前提是硬解。如果软解,没有这么显著。而且解码模块也不属于user-mode driver或是核心模块。

所以 ...

其实虽然没有试过,但从理论上分析,即使是软解,如果按照第三方案先开启前台进程CPU分配优先(2:1模式或3:1模式),在配合不交换内核,应该还是能够顺畅运行的,这样的话可以优先抢占CPU时间保障解码顺畅,也可以避免交换内核切换顺畅……至少我是这么分析的

Rank: 2Rank: 2

UID
106351
帖子
276
PB币
2945
贡献
0
技术
24
活跃
49
29F
发表于 2012-5-20 00:49:48 IP属地未知 |只看该作者
认真看了楼主和各位高手的讨论,真心学到不少东西,拜读了,谢谢!
头像被屏蔽

头目

UID
1183083
帖子
82
PB币
190
贡献
0
技术
0
活跃
11
30F
发表于 2012-5-20 00:55:33 IP属地未知 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 11Rank: 11Rank: 11

UID
1322058
帖子
6679
PB币
1499
贡献
0
技术
0
活跃
117

7周年庆典勋章

31F
发表于 2012-5-20 13:13:45 IP属地江苏 |只看该作者
这个好强 注册表没修改过

Rank: 2Rank: 2

UID
1684698
帖子
59
PB币
918
贡献
0
技术
0
活跃
70

7周年庆典勋章

32F
发表于 2012-5-20 13:43:36 IP属地未知 |只看该作者
注册表这东西。。不太敢操作。。

远景礼貌红领巾小组

Rank: 2Rank: 2

UID
2546699
帖子
329
PB币
2125
贡献
0
技术
156
活跃
64
33F
发表于 2012-5-20 17:54:10 IP属地未知 |只看该作者
阿伯才的风格 发表于 2012-5-14 20:08
其实虽然没有试过,但从理论上分析,即使是软件,如果按照第三方案先开启前台进程CPU分配优先(2:1模式或 ...

虽然小弟对4K对齐和阿伯此帖关于修改注册表来优化响应的技术理解尚停留在小小小白阶段,但无疑给了我很大的惊异。此贴一出,引发诸多严肃争议(就连跳蚤版版出来起哄了一句都又闪人旁听去了...呃...),小弟插不上嘴,但是关于“前台进程CPU分配优先级来提高速度”的解决方案,小弟倒是目前一直信任一款第三方软件商的办法:PGWare公司的产品PCBoost 4在这一点上做的非常出色。小弟这样说可能和你帖内容及大家争议不太有关,所以在此附上相应网站链接,PGWare4 for Windows  也许相应阐述会有作用。

节操役

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

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
34F
发表于 2012-5-20 19:42:04 IP属地浙江 |只看该作者
火与火焰 发表于 2012-5-20 17:54
虽然小弟对4K对齐和阿伯此帖关于修改注册表来优化响应的技术理解尚停留在小小小白阶段,但无疑给了我很大 ...

是这样的,这个问题涉及到了系统内部CPU资源分配中的线程优先级问题,此处与第三方厂商的进程优先级调配师有区别。前者调配的是threads,即线程,而后者调配的是process,即进程。两者不是同一个概念不可同日而语。

另外对于第三的优先级分配软件,个人还是比较倾向于使用process lasso的,但是两者的功能不尽相同。

第三方厂商所调整的是进程优先级,简单的说就是进程被CPU分配的顺序(当然从机理上也决定了时间)。而此处,则是thread被默认分配的时间的趋势(即前台线程更容易获得更多地CPU时间)哪怕进程不是在前台。最简单的例子是,听音乐……

点评

火与火焰  嗯,共同目的只是这个:“通过对前台进程CPU资源的线程优先级的分配方案来提高速度”。  发表于 2012-5-20 21:12 IP属地山西

远景礼貌红领巾小组

Rank: 2Rank: 2

UID
2546699
帖子
329
PB币
2125
贡献
0
技术
156
活跃
64
35F
发表于 2012-5-20 20:59:21 IP属地未知 |只看该作者
阿伯才的风格 发表于 2012-5-20 19:42
是这样的,这个问题涉及到了系统内部CPU资源分配中的线程优先级问题,此处与第三方厂商的进程优先级调配师 ...

我恰巧在这里明白阿伯说的thread与process优化思路不同的阐述,也恰巧在以前关注这方面时使用过process lasso。不知阿伯是如何理解“increasing the processor priority thread of the currently active application, allowing these programs to run faster”这句话的?我的理解是它大概的工作原理里包括通过每时钟周期的切换机制来提升单个执行单元利用率,也就是说——对MultiThreading技术得到一种更大程度的利用,虽然我把“线程优先级的调配方案”这一点交给第三方的软件去处理了,但就如同睿频加速一样她的理念值得我信赖,所以后来才换了PGWare的PCBoost4。而事实上也有一个现象引起我注意,那就是每当加速当前程序部署或者切换另一个程序时CPU功率总会瞬间倍增后复原——与此同时PCBoost在不停访问内存。
说了这么多,其实我想表达的意思只有一个:关于阿伯你帖子中对修改注册表键值来达到优化线程这一条上,许多景友心存疑问不知合适与否而争论不断(或者干脆不敢尝试),而其实是有少数国外第三方软件是可以做到这个“效果”的。我们不知道公司这些专家们如何看待将02修改为与或关系的28 25 26 18,但要取得“肉眼”可感知的效果,一定不会是这么简便。

Rank: 2Rank: 2

UID
1809523
帖子
52
PB币
85
贡献
0
技术
0
活跃
38
36F
发表于 2012-5-20 21:07:18 IP属地未知 |只看该作者
修改注册表比较危险

节操役

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

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
37F
发表于 2012-5-20 21:19:58 IP属地浙江 |只看该作者
本帖最后由 阿伯才的风格 于 2012-5-20 21:28 编辑

increasing the processor priority thread of the currently active application, allowing these programs to run faster

个人直译
提升现在活动进程的线程处理器优先级优先级,允许这些程序运行更快

不知翻译是否正确,还请指点。

个人理解便是,现在有一个正在活动的程序(无论前后台),提升它的(无论前后台)线程的处理器优先级,有利于这些进程获得更多的处理器时间,是这些程序运行更快。

不知此句在何处出现?


至于是否有第三方软件可以达到这个效果,我不得而知,但多一种方法,便也是多一种选择,不是么?


不过另一方面,我想第三方软件并不能达到设置为25,26这样强制控制前后台CPU时间的功能吧,估计是只能有利于获得cpu时间,我不能保证修改注册表是最有效的,但是,既避免了第三方程序的干扰,又利用了系统自身的机制来完成这个任务,应该说来也是一种优势吧。

节操役

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

UID
1333998
帖子
17657
PB币
9464
贡献
0
技术
19
活跃
931
38F
发表于 2012-5-20 21:22:27 IP属地浙江 |只看该作者
火与火焰 发表于 2012-5-20 20:59
我恰巧在这里明白阿伯说的thread与process优化思路不同的阐述,也恰巧在以前关注这方面时使用过process  ...

对你的点评,我有话要说

前台进程有前台线程没错,但后台进程也是有前台线程的(例如负责音频输出的线程也是前台,但进程本身可能并不是前台)。

另,上面那一楼也是对此楼回复,由于操作失误,未直接点击回复,见谅

Rank: 1

UID
2365469
帖子
68
PB币
88
贡献
0
技术
0
活跃
29
39F
发表于 2012-5-28 11:33:36 IP属地未知 |只看该作者
个人建议对注册表还是少修改的好

Rank: 2Rank: 2

UID
614380
帖子
206
PB币
29
贡献
0
技术
0
活跃
47
40F
发表于 2012-5-29 06:08:27 IP属地未知 |只看该作者
不错,值得学习,谢谢分享
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛