如何发现并且解决一个问题:迅雷下载如何保护硬盘的例子
这两天迅雷速度又快回去了,基本都能达到1m/s的速度。但发现了一个状况,想要解决一下先说系统状况,我的系统状况是这样:
1.硬件:1g 内存,1.86的pm,主硬盘pata 40g,缓存2m;从硬盘sata加托架,320g,缓存8m
2.系统:从硬盘启动,windows xp。迅雷等软件也安装在从盘。 pata主硬盘做下载盘,也就是在迅雷里设置为下载文件保存于此盘。
本来以为用pata主硬盘做下载盘就不会损耗安装了系统的从盘,但观察发现有以下现象:
1,下载时,主盘与从盘都在全力工作,两者指示灯闪烁基本同步,并且从盘有显而易见的下载读写迹象:每过大概十几秒,就全力读写一次,此时迅雷下载大约1m/s,迅雷缓存设置为16m,与硬盘表现基本相同
为了证明这个判断,我刚才打开hdtune监测了两个硬盘的工作情况,发现,两者具有基本相同的读写动作,都有同样的持续流量,最高和最低也很相似。最最重要的是,两块盘都在持续无间断的读写,而我此时在系统中除了开了一个迅雷外,并没做其他动作。
现在问题就来了:明明我是将下载目录指定为了pata主硬盘,为何会在sata从盘上观察到这样的读写现象?
难道是因为系统与迅雷都安装在此盘,那么也就是说,数据一定要先流经sata系统盘,再写入到下载目录所在的下载用pata硬盘?
如果是这样的话,也就是说,数据经过了 迅雷到系统盘暂存,系统盘缓存写入到下载盘这样一个顺序,那么也就与我用pata盘做下载盘,而不损耗sata系统盘的愿望背道而驰了,两块盘都在经受着同样的读写损耗!
可能的解决办法:
1,如果将系统装回pata主硬盘,可能就会解决这个问题。但是这个方法不可行,因为pata盘速度大大低于我的sata盘,我希望系统能够在一个快速的环境里运行。
2,直接将下载目录设置到sata系统盘,这样避免读写pata盘,而只损耗sata盘。但是这个方案也要否决,因为我的wd盘是邮购的,如果坏了虽然可以换但还要邮寄非常麻烦。
3,在设置上做更改,只让读写pata盘。这时回想一下,pagefile是设置在了sata主硬盘,不知道是否与这个有关系。如果将pagefile缓存于pata盘,不知能否解决
4,加一条1g内存,达到1.5g的总内存,然后虚拟出一个硬盘来,将迅雷设置为缓存于虚拟硬盘中。但是我没有找到在迅雷里设置缓存位置的选项。
各位不知道还有什么办法没有?其他人是否有与我一样的系统环境,出现了一样现象?我们来想想如何解决这个问题。
[ Edited byscreaming on 2009-2-24 20:31 ] 为了证明我的观测是正确的,刚才我同时开了两个hdtune分别监测两块硬盘的读写状态,实测证明,两块硬盘具几乎完全相同的实时数据吞吐曲线,这说明数据在经过了系统盘的暂存以后,才写入了下载盘。两个硬盘都在经受同一股下载数据的折磨,与设置pata为下载盘以保护sata盘的目的完全反了。 已经找到答案了,在迅雷官方论坛上有人问如何设置迅雷缓存,客服回答如下
[该用户目前不在线] gm015
级别: 客服
[查看作者资料] [发送短消息] [加为好友]
发帖: 2198
注册时间:2008-10-08
最后登录:2008-12-24
小 中 大 引用 推荐 编辑 只看 复制
您好,缓存是您下载时,一次读取资源的内容,将其存放在系统内存里,待读取大小达到您迅雷设置的缓存值后,就会将其写入到.td的文件里。
普通连接如ftp、http等类型的下载缓存在您指定下载的目录里,文件名为.td结尾的。当文件下载完成后,自动取消.td的扩展名,生成您下载的文件。
BT、eMule的缓存文件,则会在Thunder Network\Thunder\Profiles目录下,分别生成对应的Torrents文件夹、emule文件夹下。下载完后会自动删除。但会保留下载的记录。此目录目前不能自行更改,默认在您迅雷的安装目录里。
-------------------------
也就是说,理论上来说只要把迅雷拷贝到下载用pata盘里去,就可以了。我使用的是迅雷绿色版,只要把整个迅雷目录拷贝到下载盘就可以。
实践了一下,将迅雷挪过去,然后打开两个hdtune实时监测。
但是这一办法显然的有问题,因为hdtune实时监测表明,sata盘仍然具有相同的读写动作!
此时好像研究步入了一个困境。
[ Edited byscreaming on 2009-2-24 20:27 ] 但是此时,我突然想到,也许软件的监测是有误差的!
因此我测试了不开迅雷的情况下,两盘读写动作的监测
试验证明,即便不开迅雷,两盘读写动作也是一致的!
那么现在我只能用一个解释来说明这个现象,那就是hd tune的实时硬盘监测,是不能同时开两个来分别监测两个硬盘的。
那么如何验证迅雷挪到下载盘后,是否只在下载盘里做读写呢? 不懂,帮顶 楼主研究得很深入!赞一个先!等楼主的答案。呵呵! 为了验证hdtune结果到底是否靠得住,我刚才仔细观察了硬盘灯的状态,结论是两硬盘灯基本同步闪烁,频率和强度也很类似。
也就是说,的确存在两硬盘同步读写的现象,而且是在迅雷已经挪到了下载盘的情况下。并且,而hdtune的两个硬盘的数据吞吐曲线并不完全一致,确实是两个硬盘的数据吞吐记录,那么hdtune的结果则很有可能的确是正确的。
现在问题又来了:为何在迅雷已经挪到了下载盘的情况下,两个硬盘仍然是同步读写的?
由于不能解答这个问题,我回顾了一下刚才监测系统空转时的监测数据:即便系统空转,两硬盘也在同步吞吐数据。这怎么解释??
先搁置一下这个问题,除了这个疑问以外,还有现状况下另外一个假设没有解决:pagefile
在迅雷能够接触到下载数据前,数据可能是遵循网线----硬内存----虚拟内存----迅雷缓存----硬盘缓存的顺序流动的。那么我现在要做的,就是把pagefile放在下载盘里。这样是否会解决问题呢?
今天先不继续测试了,先看书去,明天再接着来。 楼主的探索精神值得称赞
但是现在hdd已经是白菜价了 还有必要这么折腾吗?
如果是为了数据安全 其实也是可以经常备份一下的 等楼主更新!我是用一个16G的SD卡做下载盘,下载时不会出现系统盘和下载盘同时访问的情况 HDTunePro 3.5的监测很有问题:必须选中“全部硬盘”才能开始监测,否则即使点击“开始”也没有监测曲线输出。因此所得的监测曲线实际是所有硬盘读写的叠加效果。也正因如此,不管当前选中哪块硬盘,显示的测试曲线都是唯一的。
下图是我的R50上两块硬盘(主硬盘80GB 5400.3,光驱位托架硬盘60GB 80GN)的监测曲线,两图中曲线基本一致(右边图比左边图晚开始一秒左右)。后台也是开着迅雷,与楼主不同的是,我的迅雷下载目录和程序都在主硬盘上,与光驱位的托架硬盘没有任何关系。另外,系统唯一的一个pagefile.sys是设在RamDisk上的,因此程序对虚拟内存的操作不会造成硬盘读写。
建议楼主找个更专业的工具来监测。推荐sysinternal出品的FileMon,用来监测系统中文件的打开读写等具体操作,可以只选择监测某个分区,也可以设置过滤器,比如只监测迅雷。如下图:
FileMon的下载地址:http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx
[ Edited byasdlt on 2009-2-25 17:56 ] 踩一脚,留个印,回来详读! 谢谢lss!看来hdtune确实不能信,但我还有个疑问:难道托架与本机的硬盘指示灯也其实都是指示的同一个数据bus?否则怎么会出现同步闪烁的情况?? 我的机器是R50。当光驱位托架硬盘单独进行读写时,托架上的指示灯和机器灯条上的硬盘指示灯是同步闪烁的;当主硬盘单独进行读写时,硬盘托架上的指示灯无闪烁,只有灯条上的硬盘指示灯在闪烁。我的结论:主机灯条上指示灯的闪烁是实际所有硬盘的效果叠加,托架上的指示灯仅反映托架硬盘的读写。
Posted by screaming on 2009-2-26 03:33 http://www.ibmnb.com/images/common/back.gif
谢谢lss!看来hdtune确实不能信,但我还有个疑问:难道托架与本机的硬盘指示灯也其实都是指示的同一个数据bus?否则怎么会出现同步闪烁的情况?? 值得深入.
但我以为可以多做些实验,比如移动硬盘,U盘等:) :) 支持深入思考和钻研问题! 很好很细心,值得学习呢!!!!:D 比较深入,不错 感觉问题还是没解决呀 顶一下期待解决~~~ 这是个很关键也很热的问题,期待楼主继续试验下去,因为不想让迅雷过分的读写系统盘,因为我的系统盘是OCZ VERTEX 用楼上的FileMon或者DiskMon监视,HD这个东东不是专业干这个的
[ Edited byreaf on 2009-7-4 09:59 ] 以后一定向楼主学习,楼主值得尊敬!:) :) 顶一下,继续研究 顶,高手啊,期待最终答案 等最终答案。 继续顶,高手继续研究啊 顶啊,高手怎么不研究了啊 怎么内答案啊。。。
很有意义的研究
还是没有最终答案? 顶。。。。。。。。
页:
[1]
2