请教一个 Linux 上的 qbittorrent-nox 问题:在大负荷下载之后 webui 不工作

2022-05-06 09:32:31 +08:00
 AllenHua

qbittorrent-nox 运行在 OpenWrt ,是固件自带的,有 luci 页面。OpenWrt 硬件是 n3150 4C4T ,内存是 4GB 。

经常在高速下载大文件之后 webui 就 gg 了,IYUU 辅种也会失败。但是 curl 和 telnet 都能连接到对应端口,只是 curl 无法获取返回的内容(后面我会贴上详细的信息),这个问题出现了不止一次了,只是以前没有重视,因为重启 qbit 之后就好了。

哦,对了,我挂了接近 900 个种子。

我想出现这个问题的原因应该是我的 CPU 性能太差,下载时速度太快,整个系统内存占用才 1GB ,还有空余 3GB ,带宽是 300Mbps ,遇到比较好的种子,下载速度 30MiB/s ,但是通过 pstree 、ps 等等命令观察 qbit 进程没有被 kill ,而且进程状态是良好的。

解决办法:

  1. cpu 性能有瓶颈,只能对下载限速
  2. 找到 webui 不工作的原因,对症下药

我贴出一些信息,希望有 Linux 大佬帮我分析分析问题产生的原因。

高速下载时的速度,前几天看到有 33 兆每秒了

webui 这时候还能访问,但是已经出现了 client is not reachable 的提示了

满速下载时的 htop 输出

通过 pstree 发现进程存在,以及子进程,程序通过 dk 这个用户运行

kill -0 14824echo $? 返回 0 说明,进程似乎是没问题的。原理:kill -0 不会向进程发送任何信号,但是会进行错误检查,如果返回是 0 说明进程存活,否则说明进程存在问题。

进程所属用户名和组均是 dk ( uid 和 gid 都是 6802 )

curl 和 telnet 均能连接

就是 webui 无法访问,是进程出现了什么问题?该怎么排查呢,期待有人帮我分析分析。

7997 次点击
所在节点    Linux
42 条回复
kaedeair
2022-05-06 16:55:06 +08:00
我的情况是高速下载是响应延迟,在创建任务时会无响应一段时间,u 是 4200h ,看 cpu 是 99%-130%,祖传单核优化,wa 大概是 30 多
AllenHua
2022-05-06 19:42:09 +08:00
@vocaloid 的确是 v4.1.9
@lslqtz 想起来了,还可以 base64 啊,虽然很少有人这么用,但是也不失一种方案
@kaedeair wa 是什么?
lslqtz
2022-05-06 20:40:19 +08:00
@AllenHua 还不如直接发图片呢。。反正 iOS 已经支持 OCR 文本了 (
个人还是推荐用 4.3 或 4.4 ,4.1.9 实在太上古了,总不能一直不升级。
4.4 新的 SQLite 数据库不错,就是要有备份,而且目前官方还没有做向下转换 (技术上可以实现
kaedeair
2022-05-07 09:15:18 +08:00
@AllenHua wa 是 io 等待时间的 CPU 占比
yjd
2022-05-07 10:10:53 +08:00
@whatalittleboy 赞,果然快了不少。原来以为是 qt 在 win 下默认要慢一些导致的。
yjd
2022-05-07 10:22:00 +08:00
#18 也是有道理的,但是接的一个普通的 3TB sata3 机械硬盘,顺序写速度有个 100 兆以上,为什么 io 会卡住呢

原来你是机械盘你不用缓存软件,I/O 不卡死才怪。
我在 win 下用机械盘+缓存盘,也只能限制 10 个任务+15MB/s 开到 20MB/s 机械盘就 100%了。因为我内存不多划了缓存盘小 512M 。
用缓存盘速度快了,硬盘也不那么容易坏了。以前单纯机械盘做下载盘。用个 1,2 年就都是坏道,需要屏蔽了。
现在可以用很久。
AllenHua
2022-05-07 11:16:41 +08:00
@kaedeair #24 学习了
@yjd #26 明白了,那我还是太年轻。用的二手盘,坏了倒是没啥心疼的
AllenHua
2022-05-07 11:17:09 +08:00
@lslqtz #23 base64 比 ocr 方便(确信,哈哈哈
whatalittleboy
2022-05-07 11:25:56 +08:00
@yjd 估计是 tracker 太多,搞崩的,我现在就添加十几个 trackers ,以前 200 多个经常卡死
yjd
2022-05-07 11:30:18 +08:00
@whatalittleboy 我是把 RSS 智能剧集过滤器勾掉 ,前 2 个以前去掉过了,差这个没去
lslqtz
2022-05-07 11:31:35 +08:00
@yjd 不需要有缓存盘,qB 本身就内置有内存缓存。。。
我 seedbox 4x16T ,根本不开缓存的
yjd
2022-05-07 11:34:01 +08:00
@AllenHua 我在 win 下用 PrimoCache 做内存缓存盘。这样写入速度快。
你这用 openwrt ,内存要管够。qb 高级里也有设置缓存大小。
yjd
2022-05-07 11:38:18 +08:00
@lslqtz qb 默认写盘策略还不错。起码比迅雷无脑狂写盘要好很多。但是用 PrimoCache 和不用还是有区别的
chengyiqun
2022-05-07 12:01:31 +08:00
@whatalittleboy qb 的高级设置里有个获取 tracker 图标的设置, 关掉它, tracker 设置多也不会卡死了.
lslqtz
2022-05-07 17:32:35 +08:00
@chengyiqun 如果网络大于对等 1Gbps ,那确实有区别。
chengyiqun
2022-05-07 23:26:10 +08:00
@lslqtz 回错人了吧.
lslqtz
2022-05-08 00:11:06 +08:00
@chengyiqun 回错了,抱歉。不过 tracker 图标默认好像就是不获取的吧,是我记错了?确实也没什么必要获取
@yjd
yanqiyu
2022-05-08 12:14:11 +08:00
@AllenHua
我之前会卡住是因为暂时只能用顺序读写没网速快的盘导致的,后来换了 HC320/HC550 (顺序读写 200M+)也就没卡了

其实我怀疑 BT 的读写没那么顺序导致了卡住,看看 iowait 应该能看出来端倪
monster33
2022-05-08 13:41:47 +08:00
可能是缓存或者 IP 冲突的原因
AllenHua
2022-05-08 13:47:30 +08:00
@vocaloid #6 已经重装了一个 4.4.2 的 qbit 目前使用良好
@yjd #32 那个缓存高级设置我目前还是 -1 (就是自动的意思,让 qbit 决定缓存大小
@yanqiyu #38 应该就是 io 跟不上,我研究一下 iowait 谢谢
@monster33 #39 ip 冲突应该不至于的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851091

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX