我的机器是xp,这机器虽然老,但是功能就是下载电影和看电影.我配的是2个1T的硬盘.,无论是CPU或者内存.基本是够用的.原来一直是用比较老的bitcomet版本的,去年升级到1.5几.然后因为有一些种子一直下不完,大约在4月头,我升级到1.6几.不少种子下完了.然后就出现问题了.软件变得容易崩溃.崩溃以前也不是问题.自动重启继续下就是了.但是现在崩溃后,我发现一些文件就会去掉.bc!,“看起来好像是一个正常的文件”.
但是打开却是有问题的.进度上看,仍然是未完成状态.那我就想,如果能维持不崩溃状态.最少可以下完.但是从1.6几一直升级,升级到1.67,这个问题似乎一直都在.似乎和写命中率也有关系.当时我大概有300个种子没下完,我的磁盘写次数,过了几分钟,就会飙高.从1次多两次每秒会飚升到四五十,甚至上百次每秒,然后写命中率就会飞快的下降.到了20%左右,然后软件就崩溃了.我的内存是3G,做了6G的虚拟内存.
和论坛的各位请教后,缓存无论调整大或者小,都没办法解决问题.
我也尝试把光猫的虚拟主机协议只配置为TCP.结果都差不多,实际磁盘写次数在到100次左右开始飚升.累计下载数据并没有同步上升.到频率100次每秒,大约1万次左右,写命中率就低过20%.然后就崩溃了.
在本周一,我突然想到.不然试试一部分一部分下载.所以先开了一部分比较新的种子.结果发现很顺畅.平均每秒频率1点多,1M每秒的下载速度.然后我就开始边下载边重新检查完整性.检查完.一部分一部分开始下载.然后发现有几个种子开了.实际磁盘写次数就开始暴涨.我本来想尝试一个一个关了.看是不是能找到试哪个出问题了.结果还没等到我找到,就崩溃了.然后我就把那几个种子全删了.继续往前检查完整性然后开始下载.虽然最后我也不知道究竟发生了什么事.不过我想大概就和排除电脑部件故障用排除法一个道理.
我发现,没问题的种子.开了,会一直没问题,无论是5分钟或者半小时甚至更长时间.实际磁盘写次数,会和下载数据同步增长.但是一旦增加了有问题的种子.实际磁盘写次数就会在几分钟内迅速增加.而且这种增加即使在把有问题的种子删掉后,还是会继续.不过把全部都停止下载.然后重新开起来.就又一切正常.
到昨天为止,我已经清掉了几乎所有老的种子,因此相对稳定,基本上要2小时左右.才会碰到飚高,而昨天晚上把剩下的39个旧的种子(这部分我原来以为没问题,因为在比如半小时内平稳,我在当时开其他种子就暴涨),删到剩下12个,从今天早上9点,到晚上7点,大概下载了25G,一万来次磁盘写次数后数据又开始上涨.当然.相比之前,也就涨到每秒十来次而已.这样我就有足够的时间关闭程序,以避免意外崩溃.而7点钟这次重开程序,下载50来个种子,到现在3个多小时.实际磁盘写次数16000多次.下载已经达到25G.3G的的内存用的不过1G,进程堆128.5M 磁盘缓存428M,UDP缓冲区437M.虚拟内存似乎没怎么占用.
而我那些删掉的种子,我舍不得就这么直接丢掉.所以我尝试用我另外一台工作的机器来下载,当然,平时我也不用工作的机器下来.这机器是WIN7,8G内存,2个500G的硬盘.去年11月我也用过工作用的机器下载过一批文件.大概同时运行三百来个也很顺畅.这次被我删掉的种子大概也是300多个.开始下载却感觉很吃力.硬盘灯经常狂闪,其他软件都反应迟缓.这个时候,用的是bitcomet 1.64.我观察了一下,内存占用基本上超过90%.大概折腾了2天.我想的解决方案是把软件升级到1.67,另一方面是虚拟内存由原来只有C盘的最多8个G.改成2个硬盘各11个G(这数字是win7 推荐的).就解决了硬盘灯狂闪,其他软件反应迟缓的问题.对日常工作就不会有影响.比如现在win7的内存使用是进程堆1.2G.磁盘缓存60G.UDP传输缓冲区10.4G.tracker日志缓冲区305 MB.物理内存的使用85%.不过现在还有另外一个问题,就是停止下载非常吃力.我去年11月用的win7,和xp停止下载,大概都是几秒的时间.但是现在的win7 bitcomet 1.67,停止下载大概是一分钟最多关3个的程度.比如我一次性停止100个种子.需要半个小时左右的时间.才能完成.当然,对我来说,问题并不是很大,比如我预计11点关机,那9点开始逐步停止下载就可以了.
现在看来,我的2台机器里面,win7是更稳定的.
到最后,我还想请教一个问题.就是我的xp,如果再次出现实际磁盘写次数剧烈飚高,这次的处理方法下次未必就能用了.而现在还得经常性的看着,以避免一不小心碰到崩溃,(导致部分文件的bc!去掉,但是文件仍然是未下载完的,都不能用.)没办法放心挂机.
所以如果把我的xp换成win 7系统,xp的cpu和内存都大大的不如我的win7.停止下载,比如同样300个种子会不会也要2个小时甚至更长?
最后再次谢谢各位的指导.