开启uTP之后CPU占用异常高

从1.77版本升级上来后发现BitComet喜提uTP协议,但是似乎只要连上了任何一个uTP的peer,不管传输速度如何,都会占满一整个CPU核心。风扇就开始呼呼转,对笔记本用户来说很难受。

看了下论坛里已有的帖子,说这是因为没做多核优化,可以减小network.max_udp_pkt_per_sec来解决。但就算我把这个参数减到了20,且仅开启一个做种任务(只有三四个uTP的peer),UDP线程还是会始终占满一整个CPU核心。如果把uTP的peer都踢掉则不再占满CPU,直到又有新的uTP peer连上来就继续占满CPU,说明这确实是uTP的问题。

是不是目前BitComet在实现uTP的时候用了spin lock这样的忙等待的策略啊,还是我哪里配置的有问题?按理说每秒20个UDP包怎么着都不需要占满一个核心。总之我暂时只能把uTP先关了,希望作者大佬能改进一下这个CPU占用问题。




2個讚

其实我也有这种情况,不过我是台式,不需要担心噪音,但是utp在我这占用内存很多。。。
之前关了一段时间,担心连不上一些资源,后来又开了,回头准备弄一台电脑专门下载用。
话说你这颗10代i7有点拉欸


我是e5-2689。
看你这个内存占用估计也没开多少任务吧?
MD我这边内存占用分分钟上10G

并且我还开了卡巴斯基,那玩意还占了大约15%的cpu

早就有人反应过了,貌似作者压根不重视这个改进……
我5800H处理器,1个线程100%工作,15个线程围观。
所以默认UTP协议是禁用状态。

1個讚

UTP目前仅用作内网IP打洞尝鲜,CPU能效问题还有待优化

有公网的话可以直接关闭等优化。

2個讚