无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1740|回复: 32
打印 上一主题 下一主题

[分享] 加大可用的工作线程,并优化CPU能力

[复制链接]
跳转到指定楼层
1#
发表于 2024-11-19 11:11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fulibo 于 2024-11-22 10:00 编辑

  • AdditionalCriticalWorkerThreads

    HKLM\System\CurrentControlSet\Control\Session Manager\Executive\AdditionalCriticalWorkerThreads
    預設值為 0,這意味著不再新增更關鍵的核心工作執行緒。 這個值會影響檔案系統快取用於預先讀取和延遲寫入要求的執行緒數目。 提高此值可在儲存體子系統中允許更多已排入佇列的 I/O,而且可以改善 I/O 效能,特別是在具備許多邏輯處理器和強大儲存硬體的系統上。
    注意
    此設定主要適用於 Windows 7、Windows Server 2008 R2 和舊版的作業系統。 在稍後的作業系統中,雖然 Cache Manager 仍間接取用此值,但快取管理員不會在稍後的作業系統中建立專用的工作者執行緒;相反的,此值會間接影響每個類型的工作項目數 (一般工作者、延遲寫入器等) 快取管理員會配置以供稍後提交至核心執行緒集區。

    提示
    如果快取管理員的無效資料量 (效能計數器快取\中途分頁) 正在增長而耗用大量 (超過大約 25%) 的記憶體,或者系統正在執行大量同步讀取 I/O,則可能需要增加此值。


这是官网上写的!
这个参数对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 ;额外分配给处理延迟任务(即那些可以稍后处理的任务)的线程数量




2#
发表于 2024-11-19 11:26:32 | 只看该作者
大佬很能钻研啊
回复

使用道具 举报

3#
发表于 2024-11-19 11:31:35 | 只看该作者
觉得没有必要优化,硬件才是硬道理
回复

使用道具 举报

4#
发表于 2024-11-19 11:44:06 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
发表于 2024-11-19 11:59:40 | 只看该作者
感谢分享
回复

使用道具 举报

6#
发表于 2024-11-19 12:57:39 | 只看该作者
太牛了,感谢分享
回复

使用道具 举报

7#
发表于 2024-11-19 13:06:16 | 只看该作者
謝謝大大用心分享,感恩喔~~! ^^ 辛苦了!
回复

使用道具 举报

8#
发表于 2024-11-19 13:43:12 | 只看该作者
666
回复

使用道具 举报

9#
发表于 2024-11-19 13:56:07 | 只看该作者
在古董cpu试试咯有没有用
回复

使用道具 举报

10#
发表于 2024-11-19 13:56:28 | 只看该作者
学习了
回复

使用道具 举报

11#
发表于 2024-11-19 14:00:59 | 只看该作者
感谢分享
回复

使用道具 举报

12#
发表于 2024-11-19 14:46:47 | 只看该作者
感谢论坛,感谢LZ热心分享!感谢分享!论坛因你更精彩!
回复

使用道具 举报

13#
发表于 2024-11-19 14:54:59 | 只看该作者
12线程的CPU怎么优化?参数应该设置为多少?
回复

使用道具 举报

14#
发表于 2024-11-19 15:23:51 | 只看该作者
谢谢分享
回复

使用道具 举报

15#
发表于 2024-11-19 15:47:59 | 只看该作者
相当于超线程吗,如果已经有超线程,开这个是一个核模拟成4个吗
回复

使用道具 举报

16#
发表于 2024-11-19 16:03:56 | 只看该作者
好好学习了!!
回复

使用道具 举报

17#
发表于 2024-11-19 16:57:41 | 只看该作者
加大可用的工作线程,并优化CPU能力。感谢分享!
回复

使用道具 举报

18#
发表于 2024-11-19 18:31:29 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

19#
发表于 2024-11-19 19:43:17 | 只看该作者
这个修改真有效果吗?
回复

使用道具 举报

20#
发表于 2024-11-19 20:47:19 | 只看该作者
本帖最后由 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,能不能说说对不对?

点评

我看写的针对挖矿优化,不会对硬件有损害吧  详情 回复 发表于 2024-11-30 18:29
回复

使用道具 举报

21#
发表于 2024-11-20 14:51:00 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

22#
发表于 2024-11-21 16:45:45 | 只看该作者
学习
回复

使用道具 举报

23#
发表于 2024-11-26 11:13:53 | 只看该作者
学习
回复

使用道具 举报

24#
发表于 2024-11-30 17:56:31 | 只看该作者
学习
回复

使用道具 举报

25#
发表于 2024-11-30 18:29:58 | 只看该作者
wu733 发表于 2024-11-19 20:47
这里有个帖子:https://zhuanlan.zhihu.com/p/166385743
里面有个类似的优化:

我看写的针对挖矿优化,不会对硬件有损害吧

点评

针对活动繁忙的系统设置! 不只是挖矿才需要!  详情 回复 发表于 2024-12-2 17:01
回复

使用道具 举报

26#
发表于 2024-12-2 16:52:41 | 只看该作者
赞一个!
回复

使用道具 举报

27#
 楼主| 发表于 2024-12-2 17:01:36 | 只看该作者
k26835 发表于 2024-11-30 18:29
我看写的针对挖矿优化,不会对硬件有损害吧

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

使用道具 举报

28#
发表于 2024-12-3 09:00:26 | 只看该作者
这个就哦很好,谢谢分享
回复

使用道具 举报

29#
发表于 2024-12-4 18:28:01 | 只看该作者
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),说的都是十进制值,这个十进制值最后还需换算成十六进制。
回复

使用道具 举报

30#
发表于 2024-12-4 20:39:17 | 只看该作者
感谢辛苦分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-28 04:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表