比特彗星1.56存在一处内存泄漏,占用内存超过40G!

谢谢反馈。看来是和任务数量关系比较大了

我自己猜测是某些种子任务导致的,,因为我挂的少的时候也有出现过

如果是和特定任务有关的话,可以考虑做如下测试:目前120个任务,重新启动后只启动其中一半,看一看有没有问题。如果有问题,再重新启动并只启动这一半的一半。如此反复排查,有望找出罪魁祸首。

对了,你现在是不是也能复现new add的问题了

是的,任务多了,new add问题也出现了

挂机21小时 虚拟内存也爆了

提交大小基本就是物理内存+虚拟内存总和了,等官方看看怎么修复了。

new added的问题有眉目了,是因为任务多了之后CPU占用会很高,为了避免界面卡顿,会把很多处理延迟。要改进的话得增加工作线程,改动比较复杂,短时间内完不成。内存占用的问题估计也与此有关,还在继续调查。。。

然而,,我的CPU使用都不超过5%,估计软件利用核心数太少

链接: https://pan.baidu.com/s/1d3AwlgUVu-CdyTYY98sG9Q 提取码: jbzh

这是 1.58 运行 9 天,传输 80GiB 后的情况,希望能有帮助

v1.59 Beta4 [20190908] 新测试版发布了,麻烦再测试一下内存问题和new added问题,谢谢

好,等会更新上去

链接: 百度网盘 请输入提取码 提取码: wvk4
顶着界面各种未响应抓的,beta5

谢谢反馈。看来内存问题暂时解决了,确认之前是由于内存释放后的碎片造成无法再次分配利用。麻烦再看看new added有没有好转。

界面太卡了,老是未响应,,我换成旧版了,,那个内存问题,,我也不知道解决没,看缓存大小才262M,占用了5G多内存

5G内存应该有大部分是tracker日志,毕竟你的任务多,tracker也多。

麻烦 Dump Memory Info 看看

Up Time: 4:21:24
Memory Usage:
Working Set: 9.36 GB
Commit Size: 9.76 GB
Disk Cache Size:
Total Size: 2.03 GB
BitTorrent: 2.02 GB
HTTP/FTP: 0 B
Long-Term Seed: 9.25 MB

=== pool_block ===
block_regions_size = 5.30 GB
block_regions_num = 86929
commited_size = 5.30 GB
free_region_num = 219
free_block_num = 380
free_block_size = 1.48 MB
large_regions_size = 2.05 GB
large_regions_num = 2519
TOTAL_SIZE = 7.36 GB

=== committed_blocks (current) ===
class tstring_lf: 4.73 GB, 1241969 blocks
piece_cache: 2.02 GB, 2270 blocks
class tstring_lf: 549.1 MB, 140582 blocks
class Core_Common::vector_buffer_stats: 17.4 MB, 347 blocks
ltseed_cache: 9.25 MB, 148 blocks
class Core_Wire::WireLinkLayer: 8.77 MB, 321 blocks
class Core_BitTorrent::BitTorrentPeer: 6.92 MB, 197 blocks
class vector_lf: 6.89 MB, 190 blocks
class Core_TrackerClient::TrackerClient: 2.53 MB, 325 blocks
class Core_Common::vector_buffer_stats: 1.71 MB, 444 blocks
class vector_lf: 1.60 MB, 95 blocks
struct Core_Common::TimerQueue::timer_t: 1.37 MB, 352 blocks
class Core_TrackerClient::TrackerClientUDP: 556.0 KB, 139 blocks
class Core_BitTorrent::BitTorrentProtocolHandshake: 548.0 KB, 137 blocks
struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_collect_t: 464.0 KB, 116 blocks
class vector_lf: 452.0 KB, 95 blocks
class Core_BitTorrent::BitTorrentProtocolDHEncryption: 392.0 KB, 98 blocks
class Core_TrackerClient::TrackerClientHTTP: 364.0 KB, 91 blocks
class Core_Socket::SocketPeer: 328.0 KB, 41 blocks
class Core_BitTorrent::CFileEntry: 288.0 KB, 9 blocks
class vector_lf: 224.0 KB, 56 blocks
class Core_BitTorrent::BitTorrentPeerPool: 120.0 KB, 3 blocks
class string_lf: 116.0 KB, 61 blocks
class Core_Wire::wire_group_t: 96.0 KB, 6 blocks
class Core_HTTPServer::HTTPServerImpl: 36.0 KB, 1 blocks
class Core_Common::vector_buffer: 32.0 KB, 4 blocks
class Core_TaskManage::TaskBasic: 24.0 KB, 3 blocks
struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_history_t: 16.0 KB, 2 blocks
struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_share_t: 12.0 KB, 3 blocks
class Core_BitTorrent::PieceManage: 8 KB, 2 blocks
class Core_TaskManage::TaskBitTorrent: 8 KB, 2 blocks
class Core_Common::vector_buffer_stats: 0 B, 0 blocks
class Core_Common::vector_buffer_stats: 0 B, 0 blocks
class tstring_lf: 0 B, 0 blocks
class Core_Common::xml_node_t: 0 B, 0 blocks
file_t::read(): 0 B, 0 blocks
class Core_Common::vector_buffer_stats: 0 B, 0 blocks
class Core_Common::vector_buffer_stats: 0 B, 0 blocks
DHE_send: 0 B, 0 blocks
TOTAL = 7.36 GB, 1388109 blocks

=== committed_blocks (alloc) ===
class Core_Common::vector_buffer: 310.3 GB, 7366847 blocks
piece_cache: 163.5 GB, 175806 blocks
file_t::read(): 115.7 GB, 180775 blocks
DHE_send: 65.3 GB, 6947777 blocks
class string_lf: 14.1 GB, 3721286 blocks
class Core_Common::vector_buffer_stats: 8.16 GB, 483866 blocks
class tstring_lf: 5.26 GB, 1380362 blocks
class Core_Common::vector_buffer_stats: 4.53 GB, 1188629 blocks
ltseed_cache: 2.83 GB, 46491 blocks
class tstring_lf: 2.40 GB, 630776 blocks
class tstring_lf: 433.5 MB, 110998 blocks
class Core_Common::xml_node_t: 295.9 MB, 75759 blocks
class vector_lf: 114.8 MB, 29389 blocks
class vector_lf: 34.2 MB, 2772 blocks
class vector_lf: 27.7 MB, 3462 blocks
class Core_Common::vector_buffer_stats: 18.9 MB, 4804 blocks
class Core_BitTorrent::BitTorrentPeer: 17.3 MB, 494 blocks
class Core_Wire::WireLinkLayer: 8.85 MB, 324 blocks
class Core_TrackerClient::TrackerClient: 2.53 MB, 325 blocks
class vector_lf: 2.48 MB, 606 blocks
struct Core_Common::TimerQueue::timer_t: 1.37 MB, 352 blocks
class Core_Common::vector_buffer_stats: 976.0 KB, 64 blocks
class Core_BitTorrent::BitTorrentProtocolHandshake: 576.0 KB, 144 blocks
class Core_TrackerClient::TrackerClientUDP: 556.0 KB, 139 blocks
class Core_HTTPServer::HTTPServerImpl: 540.0 KB, 15 blocks
struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_collect_t: 464.0 KB, 116 blocks
class Core_BitTorrent::BitTorrentProtocolDHEncryption: 404.0 KB, 101 blocks
class Core_TrackerClient::TrackerClientHTTP: 364.0 KB, 91 blocks
class Core_Socket::SocketPeer: 352.0 KB, 44 blocks
class Core_BitTorrent::CFileEntry: 288.0 KB, 9 blocks
class Core_BitTorrent::BitTorrentPeerPool: 120.0 KB, 3 blocks
class Core_Common::vector_buffer_stats: 112.0 KB, 28 blocks
class Core_Wire::wire_group_t: 96.0 KB, 6 blocks
class Core_TaskManage::TaskBasic: 24.0 KB, 3 blocks
struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_history_t: 16.0 KB, 2 blocks
class Core_Common::vector_buffer_stats: 12.0 KB, 3 blocks
struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_share_t: 12.0 KB, 3 blocks
class Core_TaskManage::TaskBitTorrent: 8 KB, 2 blocks
class Core_BitTorrent::PieceManage: 8 KB, 2 blocks
TOTAL = 693.3 GB, 22352675 blocks

=== pool_stats (current) ===
class list_stats: 86.4 MB, 1259193 blocks
class vector_stats: 8.16 MB, 95 blocks
class vector_stats: 260.7 KB, 353 blocks
class tstring_stats: 57.9 KB, 994 blocks
class tstring_stats: 25.1 KB, 194 blocks
class tstring_stats: 24.6 KB, 190 blocks
class vector_stats: 21.8 KB, 2 blocks
class list_stats: 20.2 KB, -8 blocks
class vector_stats<struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_collect_t * __ptr64>: 16.6 KB, 2 blocks
class vector_stats: 14.7 KB, 2 blocks
class vector_stats<struct Core_Tracker_DHT::kstored_t::kvalue_template<18> >: 6.79 KB, 57 blocks
class vector_stats<struct Core_Tracker_DHT::kstored_t::kvalue_template<6> >: 4.71 KB, 61 blocks
class vector_stats: 3.30 KB, 1 blocks
class vector_stats<struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_history_t * __ptr64>: 2.20 KB, 2 blocks
class vector_stats<struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_share_t * __ptr64>: 2.20 KB, 2 blocks
TOTAL = 95.0 MB, 1261140 blocks

=== pool_stats (alloc) ===
class list_stats: 900.0 MB, 11797677 blocks
class list_stats: 95.9 MB, 1397586 blocks
class tstring_stats: 62.0 MB, 621846 blocks
class vector_stats: 24.5 MB, 1838 blocks
class vector_stats: 756.6 KB, 2295 blocks
class tstring_stats: 50.2 KB, 388 blocks
class vector_stats<struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_collect_t * __ptr64>: 50.0 KB, 36 blocks
class tstring_stats: 49.2 KB, 380 blocks
class vector_stats: 44.4 KB, 23 blocks
class vector_stats<struct Core_Tracker_DHT::kstored_t::kvalue_template<18> >: 26.2 KB, 347 blocks
class vector_stats<struct Core_Tracker_DHT::kstored_t::kvalue_template<6> >: 23.6 KB, 417 blocks
class vector_stats: 21.8 KB, 2 blocks
class vector_stats: 9.96 KB, 13 blocks
class vector_stats<struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_history_t * __ptr64>: 6.64 KB, 26 blocks
class vector_stats<struct Core_BitTorrent_Share::InterfaceBitTorrentShare::torrent_share_t * __ptr64>: 6.64 KB, 26 blocks
TOTAL = 1.05 GB, 13822900 blocks

谢谢反馈,我分析一下