无忧启动论坛

标题: 加大可用的工作线程,并优化CPU能力 [打印本页]

作者: fulibo    时间: 2024-11-19 11:11
标题: 加大可用的工作线程,并优化CPU能力
本帖最后由 fulibo 于 2024-11-22 10:00 编辑


这是官网上写的!
这个参数对win7类老系统起到性能上的优化,
win10上面主要是对SMB共享一类的提速!



网上查了一下,一个线程大概占用1M左右的内存!
似乎,linux中虚拟内存确实是按照一个线程默认8M来分配的。
但,windows中不是这样的,开启线程后,内存增加很小。

默认情况下,一个线程的栈要预留1M的内存空间,而一个进程中可用的内存空间只有2G,
所以理论上一个进程中最多可以开2048个线程,但是内存当然不可能完全拿来作线程的栈,   
所以实际数目要比这个值要小,你也可以通过构造线程时修改默认堆栈大小,将其改的比较小,   
这样就可以多开一些线程,如将默认栈的大小改成512K,这样理论上最多就可以开4096个线程,
而一个线程的默认线程栈1024K

AdditionalCriticalWorkerThreads:用于设置额外的关键工作线程。
AdditionalDelayedWorkerThreads:用于设置延迟工作线程。
这两个参数的设置应该尽量避免超过系统的实际线程数,以保持系统稳定性。在这种情况下,Intel Core i5-10400 有 12 个线程(6 核心,支持超线程)。通常来说,可以设置的最大值不会超过实际线程数的 2 到 3 倍,但要避免过多线程导致性能瓶颈或资源耗尽。
物理核心 × 2 =

Windows Registry Editor Version 5.00

;可用的工作线程,并优化CPU能力
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive]
"AdditionalCriticalWorkerThreads"=dword:0000000a  ;额外分配给处理关键任务的线程数量,关键任务通常指的是那些需要尽快完成,以保证系统稳定性和响应性的任务
"AdditionalDelayedWorkerThreads"=dword:0000000a ;额外分配给处理延迟任务(即那些可以稍后处理的任务)的线程数量





作者: qfnuzlr    时间: 2024-11-19 11:26
大佬很能钻研啊
作者: yyz2191958    时间: 2024-11-19 11:31
觉得没有必要优化,硬件才是硬道理
作者: yc2428    时间: 2024-11-19 11:44
谢谢分享
作者: 音乐与电脑    时间: 2024-11-19 11:59
感谢分享
作者: yuzmb    时间: 2024-11-19 12:57
太牛了,感谢分享
作者: hmaaaa    时间: 2024-11-19 13:06
謝謝大大用心分享,感恩喔~~! ^^ 辛苦了!
作者: zxc1112233    时间: 2024-11-19 13:43
666
作者: 2012fengxi    时间: 2024-11-19 13:56
在古董cpu试试咯有没有用
作者: guong    时间: 2024-11-19 13:56
学习了
作者: wn168cn@163.com    时间: 2024-11-19 14:00
感谢分享
作者: scofield2015    时间: 2024-11-19 14:46
感谢论坛,感谢LZ热心分享!感谢分享!论坛因你更精彩!
作者: 111228    时间: 2024-11-19 14:54
12线程的CPU怎么优化?参数应该设置为多少?
作者: 呵呵#1861    时间: 2024-11-19 15:23
谢谢分享
作者: k26835    时间: 2024-11-19 15:47
相当于超线程吗,如果已经有超线程,开这个是一个核模拟成4个吗
作者: wc67    时间: 2024-11-19 16:03
好好学习了!!
作者: 13325531750    时间: 2024-11-19 16:57
加大可用的工作线程,并优化CPU能力。感谢分享!
作者: wang1126    时间: 2024-11-19 18:31
谢谢楼主分享
作者: cxydeity    时间: 2024-11-19 19:43
这个修改真有效果吗?
作者: wu733    时间: 2024-11-19 20:47
本帖最后由 wu733 于 2024-11-19 20:48 编辑

这里有个帖子:https://zhuanlan.zhihu.com/p/166385743
里面有个类似的优化:

;增加可用的工作线程,并优化CPU能力
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive]
"AdditionalDelayedWorkerThreads"=dword:0000000a
"AdditionalCriticalWorkerThreads"=dword:0000000a

他这里设置了dword:0000000a,能不能说说对不对?

作者: fegr    时间: 2024-11-20 14:51
谢谢分享
作者: cqh    时间: 2024-11-21 16:45
学习
作者: 孟仁飞    时间: 2024-11-26 11:13
学习
作者: sa1ka    时间: 2024-11-30 17:56
学习
作者: k26835    时间: 2024-11-30 18:29
wu733 发表于 2024-11-19 20:47
这里有个帖子:https://zhuanlan.zhihu.com/p/166385743
里面有个类似的优化:

我看写的针对挖矿优化,不会对硬件有损害吧
作者: a7777777    时间: 2024-12-2 16:52
赞一个!
作者: fulibo    时间: 2024-12-2 17:01
k26835 发表于 2024-11-30 18:29
我看写的针对挖矿优化,不会对硬件有损害吧

针对活动繁忙的系统设置!
不只是挖矿才需要!

作者: onlooker567    时间: 2024-12-3 09:00
这个就哦很好,谢谢分享
作者: wu733    时间: 2024-12-4 18:28
AdditionalCriticalWorkerThreads的设置依据‌:

该值影响文件系统缓存的预读和后写请求线程数,增大可以提高I/O性能‌。
设置需考虑CPU核数,避免线程切换过于频繁导致性能降低‌。

‌设置建议‌:
无固定值,需根据系统配置和业务需求调整。
可尝试设置为CPU核数的倍数,如2倍、8倍等,并观察性能变化‌。
需注意,设置过大可能无意义,且可能增加线程切换开销‌。


‌总结‌:
AdditionalCriticalWorkerThreads的设置需综合考虑系统硬件、业务需求及性能表现。建议从较小值开始,逐步调整并测试,以找到最适合当前系统的设置值。‌

下面再说两个常见的设置值:

;1增加可用的工作线程,并优化CPU能力
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive]
"AdditionalDelayedWorkerThreads"=dword:0000000a
"AdditionalCriticalWorkerThreads"=dword:0000000a

;2把IE可同时下载数目增到10
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPerServer"=dword:0000000a
"MaxConnectionsPer1_0Server"=dword:0000000a


十进制值:0---1---2---3---4---5---6---7---8---9---10---11---12---13---14---15---16
十六进制:0---1---2---3---4---5---6---7---8---9---  a---  b---  c--- d---  e---  f--- 10

以上的"dword:0000000a"是指16进制的a,换算出10进制值就是10。也就是说,平时我们说要设置多少值(如上把IE可同时下载数目增到10),说的都是十进制值,这个十进制值最后还需换算成十六进制。

作者: ewq11111    时间: 2024-12-4 20:39
感谢辛苦分享!
作者: wc67    时间: 2024-12-4 20:56
好好学习了!!
作者: 2012飘水    时间: 2024-12-4 22:11
感谢分享,
作者: 2925118010    时间: 2024-12-24 14:57
不会操作,大佬能给出批处理bat吗
作者: fengshangren    时间: 2025-1-23 15:14
楼主辛苦,感谢分享




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3