感谢更新。
顺便说下,docker版的种子市场,热门这里字符显示不出来。
最新的Docker容器仍然有跑狠了彗星崩溃的情况,不清楚是彗星的问题还是内存限制少了
DHT协议中,没有传递名称,你可以在其点击右键菜单,设置自动下载元数据,下载完成后就会显示名称啦
linux版本应该有右键菜单的吧
可能是死种,试试右键选中,手动下载能成功吗
不知道现在Linux版本能无gui启动了吗,然后webgui控制
有点早了,目前 WebUI 还不能完全替代 GUI
不过希望未来可以实现,可以轻量很多
$ /usr/bin/BitComet-2.11.0-x86_64.AppImage
/tmp/.mount_BitComA2bErZ/usr/bin/BitComet: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
系统中有这个文件,甚至我把它拷贝到 /usr/bin/,环境变量也添加了
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37:/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/
export LD_LIBRARY_PATH=/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
还是提示这个错误。
![]()
搞了一下午…
OS:KUbuntu 24.10 x86_64 Kernel: 6.11.0-9-generic Shell: zsh 5.9
$ /usr/bin/BitComet-2.11.0-x86_64.AppImage
/tmp/.mount_BitComA2bErZ/usr/bin/BitComet: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory
系统中有这个文件,甚至我把它拷贝到 /usr/bin/,环境变量也添加了
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37:/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu/
export LD_LIBRARY_PATH=/snap/gnome-42-2204/176/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
还是提示这个错误。
![]()
搞了一下午…
OS:KUbuntu 24.10 x86_64 Kernel: 6.11.0-9-generic Shell: zsh 5.9
Ubuntu 24.04 及以上版本需要添加 22.04 的 apt 下载源
sudo nano /etc/apt/sources.list.d/ubuntu.sources
# Suites: xxx xxx xxx 后面加上 jammy
# Suites: xxx-security 后面加上 jammy-security
# 存盘退出
sudo apt update
sudo apt install libwebkit2gtk-4.0-37
# 恢复 apt 下载源
直接敲命令 docker-compose 创建docker的比特彗星就没毛病
但是在 1panel 面板中运行docker版会得到报错
访问浏览器白屏,提示
“errorMessage”: “Command ‘[‘supervisorctl’, ‘-c’, ‘/etc/supervisor/supervisord.conf’, ‘status’]’ returned non-zero exit status 3.”
控制台输出
2024-12-11 18:56:01,092 INFO exited: lxpanel (exit status 127; not expected)
2024-12-11 18:56:04,099 INFO spawned: ‘lxpanel’ with pid 78
2024-12-11 18:56:04,123 INFO exited: lxpanel (exit status 127; not expected)
2024-12-11 18:56:04,123 INFO gave up: lxpanel entered FATAL state, too many start retries too quickly
使用vnc客户端:https://www.realvnc.com/en/connect/download/viewer/
连接后发现是黑屏,这是1panel 面板的问题吗,还是docker兼容没做好,导致没办法在这个面板上运行
我的小NAS的性能不行,会导致Docker的彗星崩溃,希望到时候有纯bitcomet的docker不要再带个小系统
![]()
意思是会调用虚拟化?那怪不得我尝试在vps上部署不了docker版比特彗星
我觉得他应该是说bitcomet的docker容器不要x11桌面环境使用vnc访问,而是直接像qbit一样直接用webui访问。
毕竟docker容器本身就是个使用主机kernel但是使用其它namespace的小系统。
bitcomet的docker容器并没有虚拟化,要是用了的话在docker run里应该会出现–device /dev/kvm。
v2.12.0 已发布,增加了控制台模式主程序,linux docker版增加纯webui版本
好耶,支持无图形化启动了,就是那个环境变量是什么,,,不能用参数或者配置文件实现吗
访问服务器 ip:6080 端口成功访问
第一次成功在vps服务器运行成功了Linux和docker版本比特彗星,终于支持无图形化启动了
看起来CPU占用有点猛,没有流量图功能,,,不知道是什么线程在占用
可能因为第一版刚上架,docker还没有来记得标注latest,记得把配置文件里面的latest删除
这是我在1panel docker成功用的配置文件
services:
sandbox:
container_name: bitcomet-webui
image: wxhere/bitcomet-webui:v2.12.0
volumes:
# mounts the host directory into the container to store config files
- ./BitComet:/root/.config/BitComet:rw
# mounts a host directory into the container to store downloaded files
- ./Downloads:/root/Downloads:rw
ports:
# BitComet WebUI port
- 6080:6080
# BitTorrent ports
- 6082:6082
- 6082:6082/udp
environment:
- BITCOMET_WEBUI_PORT=6080
- BITCOMET_BT_PORT=6082
- WEBUI_USERNAME=admin
- WEBUI_PASSWORD=itzmx.com
就是感觉有bug,进度一直是0%
我删掉重新加试试,好像正常了。。怪,现在看起来没毛病了
就是CPU占用还是不太正常的样子
vps的ssh上显示一直吃满一个CPU核心
docker的ssh显示这样
新旧webUI目前对设置的修改能力还是有限的吧?
有些设置可能现在只能用改配置文件吧?
你跑起来了吗,有没有我这个没创建任何任务只要启动就吃满1核心CPU的问题?而且添加磁力老是卡在那提示正在下载种子文件不知道什么情况
gdb分析线程情况
warning: Target and debugger are in different PID namespaces; thread lists and other data are likely unreliable. Connect to gdbserver inside the container.
0x00007f8c6799d68e in ?? ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.3.x86_64
(gdb) bt
#0 0x00007f8c6799d68e in ?? ()
#1 0x00007fff63852200 in ?? ()
#2 0x00000017638521f0 in ?? ()
#3 0x00007fff638523e0 in ?? ()
#4 0x0000000000000010 in ?? ()
#5 0x00007fff63852200 in ?? ()
#6 0x00005600d3a5fb3a in wxEpollDispatcher::DoPoll(epoll_event*, int, int) const ()
#7 0x00005600d3a6060e in wxEpollDispatcher::Dispatch(int) ()
#8 0x00005600d39e5858 in wxConsoleEventLoop::DispatchTimeout(unsigned long) ()
#9 0x00005600d39e5591 in wxConsoleEventLoop::Dispatch() ()
#10 0x00005600d39405f2 in wxEventLoopManual::ProcessEvents() ()
#11 0x00005600d39406a5 in wxEventLoopManual::DoRun() ()
#12 0x00005600d39403bd in wxEventLoopBase::Run() ()
#13 0x00005600d3918ced in wxAppConsoleBase::OnRun() ()
#14 0x00005600d397ab82 in wxEntry(int&, wchar_t**) ()
#15 0x00005600d327ff98 in main ()
(gdb) t 1
[Switching to thread 1 (process 8578)]
#0 0x00007f8c6799d68e in ?? ()
(gdb) bt
#0 0x00007f8c6799d68e in ?? ()
#1 0x00007fff63852200 in ?? ()
#2 0x00000017638521f0 in ?? ()
#3 0x00007fff638523e0 in ?? ()
#4 0x0000000000000010 in ?? ()
#5 0x00007fff63852200 in ?? ()
#6 0x00005600d3a5fb3a in wxEpollDispatcher::DoPoll(epoll_event*, int, int) const ()
#7 0x00005600d3a6060e in wxEpollDispatcher::Dispatch(int) ()
#8 0x00005600d39e5858 in wxConsoleEventLoop::DispatchTimeout(unsigned long) ()
#9 0x00005600d39e5591 in wxConsoleEventLoop::Dispatch() ()
#10 0x00005600d39405f2 in wxEventLoopManual::ProcessEvents() ()
#11 0x00005600d39406a5 in wxEventLoopManual::DoRun() ()
#12 0x00005600d39403bd in wxEventLoopBase::Run() ()
#13 0x00005600d3918ced in wxAppConsoleBase::OnRun() ()
#14 0x00005600d397ab82 in wxEntry(int&, wchar_t**) ()
#15 0x00005600d327ff98 in main ()
warning: Target and debugger are in different PID namespaces; thread lists and other data are likely unreliable. Connect to gdbserver inside the container.
0x00007f8c6799d68e in ?? ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-326.el7_9.3.x86_64
(gdb) bt
#0 0x00007f8c6799d68e in ?? ()
#1 0x00062964bb0d0442 in ?? ()
#2 0x0000001705e15b00 in ?? ()
#3 0x00007fff6385250c in ?? ()
#4 0x0000000000000001 in ?? ()
#5 0x00005600d4637090 in wxTimerUnixModule::ms_classInfo ()
#6 0x00005600d3a5fb3a in wxEpollDispatcher::DoPoll(epoll_event*, int, int) const ()
#7 0x00005600d3a5fbc5 in wxEpollDispatcher::HasPending() const ()
#8 0x00005600d39e5690 in wxConsoleEventLoop::Pending() const ()
#9 0x00005600d3940657 in wxEventLoopManual::DoRun() ()
#10 0x00005600d39403bd in wxEventLoopBase::Run() ()
#11 0x00005600d3918ced in wxAppConsoleBase::OnRun() ()
#12 0x00005600d397ab82 in wxEntry(int&, wchar_t**) ()
#13 0x00005600d327ff98 in main ()
(gdb) t 1
[Switching to thread 1 (process 8578)]
#0 0x00007f8c6799d68e in ?? ()
(gdb) bt
#0 0x00007f8c6799d68e in ?? ()
#1 0x00062964bb0d0442 in ?? ()
#2 0x0000001705e15b00 in ?? ()
#3 0x00007fff6385250c in ?? ()
#4 0x0000000000000001 in ?? ()
#5 0x00005600d4637090 in wxTimerUnixModule::ms_classInfo ()
#6 0x00005600d3a5fb3a in wxEpollDispatcher::DoPoll(epoll_event*, int, int) const ()
#7 0x00005600d3a5fbc5 in wxEpollDispatcher::HasPending() const ()
#8 0x00005600d39e5690 in wxConsoleEventLoop::Pending() const ()
#9 0x00005600d3940657 in wxEventLoopManual::DoRun() ()
#10 0x00005600d39403bd in wxEventLoopBase::Run() ()
#11 0x00005600d3918ced in wxAppConsoleBase::OnRun() ()
#12 0x00005600d397ab82 in wxEntry(int&, wchar_t**) ()
#13 0x00005600d327ff98 in main ()
(gdb)
Dispatch和HasPending函数,我在看看另一个分析工具
从你提供的 gdb 输出分析,以下几点可能导致 CPU 使用率高的问题:
-
Epoll Dispatch Loop:
从栈回溯中可以看到wxEpollDispatcher::DoPoll和wxEpollDispatcher::Dispatch多次出现,表明进程可能在一个事件循环中高频率地处理事件,而没有适当地进行休眠或延迟。可能是因为某些事件未正确处理,导致事件循环一直运行。 -
缺少 Debug 信息:
缺少调试信息(debuginfo),使得函数位置无法显示具体的代码行。这会让你更难以找到具体问题。可以尝试安装所需的调试信息包,例如glibc的调试信息。 -
PID Namespace 警告:
提示目标和调试器在不同的 PID 命名空间中,意味着你可能在容器中运行程序,而gdb在宿主机上。这会导致线程列表和其他数据不可靠。考虑在容器内部运行gdbserver来避免这个问题。 -
可能的代码问题:
- 检查事件循环中是否有不必要的高频事件或忙等待。
- 确保所有 I/O 操作都在正常处理,并没有陷入无限循环。
- 查看是否有定时器或回调函数频繁触发,而没有实际需要这么高的事件频率。
为了进一步诊断,建议:
- 安装所需的调试信息包。
- 尝试在容器中直接使用
gdbserver以避免命名空间问题。 - 检查代码中的事件处理逻辑,特别是那些可以导致无限循环或忙等待的逻辑。
- 确认是否在事件循环中适当地使用了休眠(如
sleep或usleep)来减少不必要的 CPU 消耗。
我现在缺少测试环境 还是先研究一下Windows版吧
这个配置信息看起来主要是给无gui模式
用于在启动时设置值 在Win上似乎也不能修改已经启动的示例
直接添加种子文件可以正常下载吗?











