Linux内测版

实测最新的 gui docker 版,bitcomet 进程会不断的吞噬内存,直到把所有内存占尽然后进程崩溃,但 docker 进程没有问题,此时还可以用 vnc 进入容器界面启动 bitcomet,,,然后重复上述过程,,,
这貌似是很多个版本之前的内存泄漏bug了,不知道最新版本怎么又出现了,希望尽早修复,这个影响软件的正常使用了。

++++++++

好吧,也许不是内存泄露?我连着vnc看着,专门等着它崩溃,结果它内存涨着涨着停了,等了半天也不崩了,无语,,,

++++++++

一段时间后vnc进去看,bitcomet进程它还是崩了,,,,但不知道它是为什么崩的,,,:joy::joy::joy::joy:

v2.13.3 已发布deb包和docker版,欢迎试用

分析了一下,有可能是默认的内存分配器性能不佳,v2.13.3换成了jemalloc,可以试试效果

已添加

早几年我就叫换jemalloc了,总算换上了,现在是仅Linux版用吗

也可以做个高级设置开关,考虑把内存管理交给系统,Linux用sendfile,Windows用TransmitFile,当然这两者和jemalloc并不会冲突

内存流量图显示正常了

是的,仅Linux版用了jemalloc,导致可执行文件体积增大了9MB :sweat_smile:
另外AppImage打包后无法启动了,可能与此有关

Windows可能也不太好编译jemalloc,仅在Linux用也差不多,没有带gui的Linux服务器,,,AppImage版至今还没用过一次
Windows可以用之前提到的 boost.org 出的iocp fcontext来提升性能,这个fcontext也可以用在Linux里
2.6及以上内核epoll fcontext,内核大于等于5.10就是iouring fcontext,官方社区推荐6.1及以上内核使用iouring
可以在二进制文件上加个-v参数传递,获取下当前启用了哪些编译,比如说jemalloc version: [5.1.0-0-g61efbda7098de6fe64c362d309824864308c36d4]

希望能早日修复 docker 版,从四月底到现在,一直崩,,,在线时间可以看出,没几天正常的,,,

我这是 Docker-webui版本,,暂时没发现崩溃现象

你先回退上一个版本试试?

谢谢小樱,我看看,要不我也换成 webui 版吧,,,

v2.14.0 已发布,欢迎试用

docker run -d \
  --name=bitcomet-webui\
  -e BITCOMET_WEBUI_PORT=8080 \
  -e BITCOMET_BT_PORT=6082 \
  -e WEBUI_USERNAME=test \
  -e WEBUI_PASSWORD=test \
  -p 6080:8080 \
  -p 6882:6082 \
  -p 6882:6082/udp \
  -v /docker/appdata/BitComet:/root/.config/BitComet:rw \
  -v ~/Downloads:/root/Downloads:rw \
  --restart unless-stopped \
  wxhere/bitcomet-webui:latest

指定 latest 下载为2.13.4.29,指定 2.14.0 正常。

升级的时候勾选强制拉取镜像就行了,你截图看到也没问题的。上面看digest就知道了,都是一样的,只是你没重新拉取导致的

感谢更新,这几天没有再崩溃了。
不过2.14版貌似有个小问题,就是这个远程访问端口,无论怎么设置,只要在webui里打开选项,这里默认永远是 808 ,导致如果点开选项的这个页面而又没有再次手动改成自己用的端口时,一点确定webui就会失联,要去vnc里改回正确值,才能连回webui。我因为是从老版本一直用过来的,所以一直用的是以前的8080,莫名其妙webui失联了几次,才发现这个奇怪的问题。

复现,点击确定后直接失联了。。。

感谢验证。
不过你这里怎么是608?
如果默认不一样的话,那这里是不是在读取配置中的数据时出了什么差错,导致最终显示出来的端口号丢失了一位数?

抓包看到是正常的6080,可能是网页界面上处理的问题,导致错误变成了608,随便点个确定按钮就把608提交上去然后就失联了

哈哈哈,看来是UI的问题,,, :joy: :joy: :joy:

感谢反馈,新版已修复,后续发布

话说Linux版本deb包能不能和某些软件那样发布一个musl版,这样就不会要求GLIBC,不然centos7系统直接执行bitcometd还是有报错的

./bitcometd: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by ./bitcometd)
./bitcometd: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./bitcometd)
./bitcometd: /lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by ./bitcometd)
./bitcometd: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./bitcometd)
./bitcometd: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./bitcometd)
./bitcometd: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./bitcometd)
        linux-vdso.so.1 =>  (0x00007fff5fee4000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f98ea49a000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f98ea284000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f98ea080000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f98e9e64000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f98e9b5c000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f98e985a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f98e948c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f98ebffd000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f98e9276000)

不知道musl和GLIBC性能差距有多大,比较大的话还是更新一下系统binutils的as汇编器好了,自带的是2.27

[root@VM-4-15-centos webui]# as --version
GNU assembler version 2.27-44.base.el7_9.1
Copyright (C) 2016 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-redhat-linux'.
[root@VM-4-15-centos webui]#

好像要更新的是GLIBC和GLIBCXX,算了,还是装个1panel跑docker版本吧,刚想试试直接运行deb包,看来还是比较麻烦,除非换新系统不然还要去升级GLIBC

[root@VM-4-15-centos webui]#  strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
[root@VM-4-15-centos webui]# strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1
[root@VM-4-15-centos webui]# ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
[root@VM-4-15-centos webui]#
stdout: BitComet 2.15 is running on:
stdout: CPU : 12th Gen Intel(R) Core(TM) i5-12500T
stdout: RAM Size : 981.7 MB
stdout: OS Version: Ubuntu 24.04.2 LTS

以上环境下执行 WEBUI 容器下载文件时 BC 进程会被离奇 Killed
容器本身是仍在运行的