admin管理员组

文章数量:1532205

2023年12月18日发(作者:)

找到的比较好的解决办法如下 可大大减少出现磁盘负荷过重的几率

软件具体设置(以下设置均为实践得出)

设置——常规——勾上“预先分配磁盘空间”(重要,大多资料并未提到这一项)

设置——高级——确认“_zero”项为true(高版本ut默认即为true)

另外,windows xp以上的系统需要相应用户拥有某权限,可通过以下2种方式获得

1.使用管理员权限运行utorrent

2.运行————计算机配置——Windows设置——安全设置——本地策略——用户权限分配——“执行卷维护任务”项添加相应用户(或者直接添加everyone)

注意:该方案下,缓存分配多少不影响磁盘负荷过重问题,但推荐100Mbps网络分配不小于256M缓存避免频繁写入保护磁盘,通常可分配512M。实际测得仅下载任务(10M/s)时,缓存使用量维持在100M~200M,考虑到同时还有上传任务,推荐100Mbps网络使用512M缓存,10Mbps网络使用256M缓存

磁盘负荷过重产生原因

老版本ut中,当ut开始下载文件时,会预先分配空间,并对该空间进行填0操作,以保障原有数据安全性。同时,已经下载完成的区块将会暂时存在缓存中,并根据缓存策略写入磁盘。磁盘在进行大量写入(此时在填0)操作时,同时写入其他文件的效率相当低,故而缓存写入磁盘的速度极低(甚至低于1MB/s)

而当用户分配给ut的缓存被下载数据占满耗尽,而缓存又无法顺利写入磁盘,此时下载数据无处存放,使速度骤降,此时即为磁盘负荷过重,下载速度等于缓存写入磁盘速度。通过 windows 7 自带资源监视器可以观测到,此时utorrent进程正以40MB/s速度写目标文件,并持续很长一段时间。与此同时,由缓存写入磁盘的速度极低(1MB/s以下),使缓存无法被释放。直至填0操作完成,缓存写入磁盘速度就恢复正常(普遍为50MB/s以上),缓存被释放,可容纳新下载数据,一切恢复正常。

解决方案一——缓存

增大缓存,使缓存大到填0操作完成时仍未被数据占满,假设下载速度10MB/s,磁盘内部写入速度50MB/s,每GB数据需要20s填0操作,则需要200M缓存,实际情况会更低

但该方案无法彻底解决问题,随着体积增大,内存不够消耗

解决方案二——禁止填0操作

事实上对普通用户而言,填0操作完全没必要,故而该方案才是最佳解决方案

utorrent从 1.8.x 开始提供该功能,即在高级参数中增加“_zero”,设为true即可

注意:该选项需配合常规选项中的“预先分配磁盘空间”使用

根据具体测试,若未勾上则依然会执行填0操作,勾上后正常

猜测:“预先分配磁盘空间”选项专为“_zero”搭配设计,两者不全选上则ut默认分配空间并填0,全选则快速为文件分配空间(不填0)

附:推荐缓存设置(本人暂时使用2.0.4版本)

手动指定缓存大小,推荐10Mbps网络256M,100Mbps网络512M,若内存有富余则可继续添加

另外禁用系统缓存,个人猜测系统缓存为系统虚拟内存

其它选项请酌情更改

此外,ut的Advanced选项基本不用更改其他参数,但可以适当增大”ce_write_size“值

(µTorrent每次写入磁盘时的文件大小,只有在打开ce_writes时才有效.单位是byte/s)

特别感谢zconomy的文章

µTorrent高级设置详解 by zconomy@NexusHD

/?action=viewtopic&forumid=7&topicid=4878

本文标签: 缓存磁盘写入分配设置