小樱 发表于 2019/5/3 09:19

transmission 只能使用1个cpu,单核心进程怎么利用多个物理核心







从没见过他超过100%,只有一个核心在动。。
不过刚好可以G口跑满


2022年8月15日补充
tr也是单核心的。。。不过资源占用确实小很多,因为基本不主动对外发请求,只靠外部连自己,tracker=主动对外发请求要去建立连接
tr的做法,,,是搞了一大堆闲置tracker,抽其中几个连接,所以tr比qb之类的bt软件更省cpu一些
我实在不懂,是他们解决不了单线程的问题吗,思路,想法解决办法全提供了,就是没人能解决
可能因为他没能力写出来吧,又见不得有人提问题还提供解决方案

例如一套完整的思路

有些VPS单核心性能巨差。。。bt软件跑起来卡卡的。四核心跑分还没家里一核心快。。。坐等后续版本改善支持多核心

预先创建和CPU同等数量的线程数,然后每个外部远程新连入连接分配到不同的工作线程。。如果本地发起也可以做分配,那性能会更好。
最好可以高级选项自定义,默认0自动分配,可手动设置
自动分配情况,对于特殊情况,例如如果是英特尔i5 9400f之类的6核心6线程cpu,6大于4则分配8线程。
如果能做成我说的那样,,,应该是最理想的多线程方案(我怎么感觉开发难度不大来着。。。判断新连接产生直接分配到线程ID就行了例如01234567一共8个线程ID,陆续分配下去就可以了,其它负载算法可以以后在优化,现在可以做顺序式分配)

要不然抄袭一下Linux的libtorrent做法,是多开进程实现的,比如启动10个libtorrent。然后任务分别运行在不同的进程上来实现多线程,主线程通过webgui之类的api去控制所有进程汇总显示。这样主线程负载就轻了,,也能实现多线程了

像上面的图,很恐怖吧,40核心CPU,只跑了一个核心,至今,,还没见到能多线程的BT软件,还有个好办法,,,是做成CDN种子,web支持多线程很完善

只爱小玉 发表于 2019/5/3 10:01

用爱感化它

小樱 发表于 2019/5/3 18:42

只爱小玉 发表于 2019/5/3 10:01
用爱感化它

{:3331:}
页: [1]
查看完整版本: transmission 只能使用1个cpu,单核心进程怎么利用多个物理核心