关于磁盘缓存过大的问题

最近在下载超过1个T的种子的时候的出现磁盘缓存过大,一开始的情况是直接把我64G的运行内存吃满,我以为是机械硬盘的问题,在我前段时间购入了4T固态硬盘(缓外读写如下图,磁盘是好的没有爆错和0E)的情况下,一开始下载的速度吃满然后随着磁盘缓存变大逐渐降速,从50MB/s到30到20最后稳定在10。正常情况下缓存吃10G左右会弹出一个提示磁盘缓存过大,关于设置优先级,改设置什么的都试了试(如下图)目前根据我的测试,只有比特彗星会弹出来这个问题,迅雷 QB和百度网盘其他的满速下载的时候可以吃满500M的带宽。

本人文化不高可能表述的不好轻喷

Uploading: SSD4TB 10缓外读写测试.png…




Uploading: 任务大小 列表等.png…

截图上现在的数据看起来比较正常,发生这个现象的概率很高吗?你的截图没有上传成功,看不到缓外读写速度的那张截图,而且看到读取命中率只有78%,可以推测写入缓存命中率也不高,应该是缓存设置不当导致
可能你是大容量的QLC固态,或者使用的机械叠瓦盘

比特彗星高速下载的时候通知提示 磁盘写缓冲区太大 垂直机械盘SSD QLC固态硬盘写入性能受限引起繁忙

提示如下

这是2.04版本新加的提示,尽可能的去通知用户磁盘出现了性能问题

诶,还是别难为叠瓦盘了,本来写入性能就巨烂,可能只有1-10MB/s写入速度。。。
最好搞个SSD TLC固态或者垂直机械盘来下载


可以看看别人的视频,都有叠瓦盘评测,速度最快只能承受1MB/s的下载速度,,,下载速度太快的话,硬盘就性能受限来不及写入了

QLC固态也是一样,写入速度只有30MB/s,无法适应高速下载

优化方案
32G内存如图所示建议磁盘缓存设置为1048576,让软件自动调整占用率

可以避免设置磁盘缓存过小的情况,下载比较大的BT任务时候,磁盘缓存紧张时候会由于设置过小会导致磁盘负荷过大,可以观察统计分类的磁盘写入命中率,建议维持在99%以上
http://wiki.bitcomet.com/intelligent_disk_cache
http://wiki.bitcomet.com/understanding_bitcomet?s[]=cache#what_is_disk_cache_in_bitcomet

正确方案是把磁盘缓存调大或者限制下载速率

至于此问题的解决办法
1.可以等待内存即将用尽时候触发自动限速
2.或者增大磁盘缓存来缓解写入缓冲区紧张
3.或者换垂直的机械硬盘,最好是换TLC的SSD固态
4.在无法更换硬件时,并且设置更大的磁盘缓存依旧无效还会发生现象的时候,可以手动限制下载速率,或者等待触发自动限速

参考:如何使用统计获取比特彗星的内存使用情况 - 各类教程 - ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

2個讚

还有一种办法,是降低连接人数,截图上看到连接了300多个人,如果分配的缓存比较低,需要降低连接人数,建议值是设置为1048576MB,软件会根据当前使用情况智能动态调整缓存占用
https://bbs.itzmx.com/thread-102947-1-1.html

network.max_connections 建议值,假设根据区块16MB计算,建议给系统预留8G内存来计算开销,也就是32GB内存软件磁盘缓存用24GB左右
8GB 设置300
16GB 设置500
32GB 设置1500
64GB 设置3500

2個讚

不知道为什么发不出来

磁盘测试的图片,我目前两个固态都是TLC,但是还是会显示这个,我觉得应该不是磁盘的问题

这是硬盘的测试图片,我觉得这个数据应该是没问题的,是TLC固态


https://baijiahao.baidu.com/s?id=1779107987556717382&for=pc

网上的数据来看,这块盘缓外速度有700MB/s,足够应付5Gbps下载速率,你是速度多少出现这个提示?

你对着我之前的设置改一下看看?我这跑300MB/s都没有问题
D1174745C8ECA55FD0CDADC3FE36C942

92A29C6068E813CBCEC3B1FC50650863

EF232033C70BB85C6242E81D132EE357

2個讚

首先,感谢小樱的帮助,目前我按照你的设置了一下,仍然会吃到40g左右的内存还是会降速但是相比以前有不小的改善。(按照你的上图的磁盘缓存和其他的设置照抄,我的是64g内存)
硬盘的话我在50~60MB/s写入的情况就会降速和那个读写命中率降低,小樱的内存是万兆网络都没有出现这个问题吗?会吃巨大的内存吗?你的内存是多大?

强烈要求取消此功能,下载速度一快就会报警,导致下载速度自动变慢,严重时整个程序的反应很慢。同一台电脑,同样的设置,低版本就不会出现变慢变卡的问题。

1個讚

是的,我感觉这个跟电脑不同也有差别,反正挺奇怪的。

可以在高级设置改成否,此时不在通知用户磁盘出现了性能问题
disk_writing_buffer_warning

具体原因上面说了,因为磁盘繁忙执行自动限速的时候程序卡顿是因为界面BUG,这个还未修复

这个是1.96版本引进的新功能,在内存即将用尽时候才进行自动限速,1.95及历史版本是下载过程自动限速,你用旧版本的时候会发现下载速度很慢经常突然变成9KB/s的情况,1.96及后续版本则不会发生这种现象,只有内存即将用尽时候才触发自动限速
核心改进:BT任务磁盘写缓存过大时不再暂停下载请求,改为可用内存不足时任务自动限速(优化磁盘写入提升BT任务下载速度,不会在突然出现高速下载过程导致任务速度变低了)

吃多少内存和任务大小与当前下载人数有关系,内存一般是吃越多越好,降低磁盘负载

1個讚

明白了,谢谢小樱,那只能期望后面的更新彻底解决这个问题了

这不算问题,所以说也没有任何解决的必要。。。

1個讚

好吧,不过其他不知道为啥像qb迅雷百度云这种长时间满速写入就不会出现这种问题,感觉蛮玄学的

一样有问题的,你可以观察下是不是提示磁盘繁忙,和观察任务管理器状态,而且最重要的P2P和http下载方式不同,这几款软件都用了不同的下载技术
P2P会连接几百上千人,迅雷百度云这种只会连接他们的http服务器去下载,属于直连,并不是p2p下载,只会连接到少数几个pcdn节点或者只连接服务器,例如迅雷下载种子文件的时候,实际上是这种下载方式

https://8.215.41.46/download/?fid=zmcBbyp-gMWw1OdS0jcecQZSzwsNdVCTGQAAAJ-ihy**nNd8YGASrbcj18*WUzip&mid=666&threshold=251&tid=1571E888B3A7729820F91A937D23A471&srcid=0&verno=2&pk=xdrive&e=1645700259&g=9FE2872FBE9CD77C606012ADB723D7CF965338A9&i=CE67016F2A7F80C5B0D4E752D2371E710652CF0B&ui=YP_35nI8ZU8Apyma&t=0&hy=1&ms=6300000&th=0&pt=1&f=109845705997&fext=rar&userid=YP_35nI8ZU8Apyma&clientid=YNxT9w7GMdWvEOKa&projectid=2wks56c31dc80sxm5p9&vip=PVIP&clientver=&spr=flow&fileid=VMwRn-NfJIwUztZNxwWZBY_-o1&at=5FA65DAA84CFDBE37E60FFEF76876AC6

至于qb,你可以对一下和比特彗星的设置,qb毕竟是一个吸血客户端,默认只连接4个人上传,单种限制最多连接100人下载上传,例如展开用户列表查看用户数
同时qb更倾向使用系统缓存,隐藏在系统中不可见,所以看不到进程占用比较大的内存,你可以对比下传输速度,是不是qb比bitcomet差了一大截

1個讚

没有呀,我把qb的链接设置全部取消了,应该就是不限制的意思,而且确实是长时间写入没有增加,难道是我理解有问题嘛?

我平常下馒头的大包的时候就是长时间写入的,而且是机械硬盘,至少在任务管理器里面没有看见过非常大的内存增加

还是搞个写缓冲上限控制会比较好

迅雷倒是偶尔会弹出来磁盘繁忙,度盘的话目前是没看见特别离谱的降速,看见非常明显降速和吃内存的目前就一个比特彗星

哦对了,我目前12600kf那台电脑好像没怎么看见过弹出来磁盘缓存过大的问题,只有13900es2的电脑没改设置之前经常弹出来,好像跟电脑也有关系,但是不知道是什么原因造成的