迅维网

标题: 下载速度超过10MB/s系统会卡是机械硬盘的问题吗? [打印本页]

作者: ylzhang    时间: 2018-5-14 13:48
标题: 下载速度超过10MB/s系统会卡是机械硬盘的问题吗?
下载速度超过10MB/s系统会卡是机械硬盘的问题吗?
作者: redfree    时间: 2018-5-14 13:48
既然题目关键字包含迅雷,那么可以肯定是机械硬盘问题。


先看几个技术指标:


上述几个条件综合起来,用迅雷下载,10MB/s的下载速度足以占满一个机械硬盘的写入性能。如果再有其它对同一个硬盘的IO操作,表现出来的症状就是需要等待IO,也就是系统卡顿。
作者: chaojiwantong    时间: 2018-5-14 13:48
并不是,是你内存缓存设置不够大,迅雷把内存缓存拉到1024mb,可以大幅缓解机械盘压力
如果还不行,给机械盘分配1024m的ramcache,不够就2048m,我自己给机械的ramcache就是2048m,问题解决
如果还是不行,估计你的机械不行,如果5400转的废物就不要拿出来了,另外3碟版1t也是典型的低性能盘即使7200转,优秀的SAS机械其实甚至可以跑到330m/s的连续写入,甚至超过部分入门固态

如果你内存小于8g,那么只能说你该加内存了
作者: wangyoo2003    时间: 2018-5-14 13:48
排除软件和系统BUG、机械硬盘本身的质量问题(慢道和固件BUG),还有两方面的原因:一是温彻斯特(Winchester)硬盘的先天缺点,二是不合理的缓冲机制
我们常说的机械硬盘,也叫做「温彻斯特(Winchester)硬盘」,其基本原理可以在网上搜到,简单地说:每次读写操作,都需要磁头去寻找目标扇区,是个类似于"机械臂"的结构。这种结构,决定了机械硬盘不可以同时执行多项操作(除非设计两套完全独立的结构,比如上个月希捷的新闻)。换句话说,即使机械硬盘有着100MB/s的持续读写能力,也不代表可以将这"100"拆分为"10+90"。一旦处于满负荷的状态(可以在任务管理器里看到磁盘的活动时间,0-100%,不是很严格),机械硬盘的响应就会变得极其缓慢,拖慢整个系统。
由于"下载"是个持续性的读写过程,只要开着下载软件,就不停在往硬盘写入新的数据。按照这个理论,岂不是只要下载机械硬盘就没法用了?其实,系统和下载软件已经考虑到了这一点,设计了缓冲机制:将传输的数据先存储到内存的一个区域(称之为缓冲区),达到一定大小之后再将这部分真实写入硬盘。这样一来,机械硬盘的活动时间会显著下降,卡顿感也能得到有效缓解。不过,因为缓冲区是个很"古老"的概念了,下载软件在设计缓冲区时,参照的是当时的背景:那时候还没有百兆光纤入户,所以就将"下载缓存"默认设定为8-16MB。而现在随着100-200Mbps宽带的普及,当下载速度超过10MB/s,意味着每1秒、甚至不到1秒就要进行写入操作,同时还需要校验所写入的数据(读取操作),这使得16MB的软件缓冲区完全不够用,机械硬盘始终保持高负荷状态。另外,更不幸的是,一旦开始使用系统I/O缓冲区,即使系统安装在SSD上,也会因为缓冲区耗尽而导致整个系统响应严重迟缓。
谈到解决办法,除了换SSD,换高转速、大容量缓存、多线程性能良好的机械硬盘(NCQ性能也和固件优化有关),还可以尝试在软件设置里增大下载缓存、减少连接数,也可以尝试使用RAMDisk替换系统I/O缓冲区(在2011年前后挺流行,因为那时候SSD还属于天价),总之,是用"内存空间"换"硬盘时间"~
作者: m1717    时间: 2018-5-14 13:48
取决于文件系统、下载软件的实现、硬盘型号、当前系统其他负载等
如果软件实现是把下载的文件分块写在另外的临时文件然后搬过去,再加上系统负载较高、硬盘写入缓存扇区或者缓存满了的话,越缓冲越慢,不得不说是非常智障的设计
以及现在的硬盘都是SMR的,特性有点像TLC SSD,读没问题,但写入特别慢,因为这些硬盘磁道间距特别细,读取头可以做到很小没问题,但写入头不能再小了,于是写一个扇区会把相邻扇区盖掉,只能一整个区块读出来重写,写到每隔N个磁道有一条宽的不重叠磁道为止。这种硬盘一般会加大缓存,或者在硬盘上划分一些非重叠磁道的柱面作为写入缓存区,或者干脆就加个小SSD作为缓存。但如果是前两种情况,遇到I/O负载大,在系统临时文件、缓存区来回搬数据的时候,自己想想磁头要多跑多少路,性能会跌到什么程度。如果运行在兼容模式,系统驱动没有针对这种硬盘优化,靠硬盘主控死扛的话,更慢
作者: eIxgQwRa    时间: 2018-5-14 13:48
现代硬盘都可以支持这个速度。机械磁盘也一样。就算是usb外接的硬盘,最起码的支持速度都比这个高个100倍的样子了。
可以试验一下,先别去运行其他程序,开个单线程小程序loop吸收读取某个网络资源,写到硬盘文件。比如在一个非常老的浏览器里面去下载一个比较打的资源。大多数时间就在waiting状态,也不会卡。从程序角度来说,绝对就卡在那个等待输入方面了(所以把自己的时间让给了其他程序,比如系统)。
为什么会卡呢?毕竟题主加了"迅雷"这标签,那就得从这个角度出发。。。
Really forgot what my original point was.
作者: levin2008    时间: 2018-5-14 13:48
我觉得你开下任务管理器看下资源占用就知道哪里问题了,哪个占用高了说明哪里问题。 这么多人凭空分析意义不大。
作者: lkamxmk    时间: 2018-5-14 13:48
很大可能是机械硬盘的问题。
作者: 静静的读你    时间: 2018-5-14 13:48
不知道你使用的下载软件默认开了几个线程下载?如果数量太多缓存又不够的话会增加硬盘的响应时间。
作者: buffona    时间: 2018-5-14 13:48
五六年前在学校局域网下BT,七八兆速度卡的不行,现在不知道怎么样
作者: cGtLUxYT    时间: 2018-5-14 13:48
虽说这个问题理论看起来确实是硬盘问题占的可能性比较大。到实际上我换了固态后依然会有这个问题。。并且就算下载时候不动,到5-6mb/s时候依旧有可能会死机。。。更别说原来不限速10+mb/s的下载了。。。


后来我把迅雷最新版删了,换了迅雷精简版,再也没这种破事出现了。
作者: 13633808    时间: 2018-5-14 13:48
不是硬盘的问题。只要不是上古cpu就是系统的问题。
作者: 爱上阿南    时间: 2018-5-14 13:48
我也有过这种毛病,只不过用的是idm,下载速度很快时hdd会很卡(同时用暴风播放视频会卡死)~
作者: joy3118    时间: 2018-5-14 13:48
我以前用一个西数5400 1T 7mm的盘就发生过这种情况,磁盘队列排到1000+响应时间10000+
如果是WIN10的话 任务管理器里看
性能->磁盘->平均响应时间
如果是win7的话
任务管理器->性能->打开资源监视器->磁盘->响应时间
如果一直维持在几百到几千毫秒的话,那确实是硬盘随机读写达到了瓶颈。
解决方法是上更大的缓存,比如加大迅雷的磁盘缓存(好像并没有什么用)。
最暴力的方法还是用RAM缓存,比如primocache(超好用,立竿见影)。
分给下载分区500MB缓存以后没有任何卡顿的情况发生了,缺点就是如果系统掉电的话会有数据丢失,不过我一般也就在下载的时候开,所以无所谓啦。
另外,用别的下载软件,比如迅雷5,Bitcomet,Emule,在进行缓存设置以后都不会有类似的现象发生。我想说迅雷真的用心做下载吗?
作者: qfwoshiyu    时间: 2018-5-14 13:48
这是win10的bug,win7没这个问题。
不仅仅是迅雷,Steam等需要高速下载的软件都会导致这个问题,甚至后台自动更新都会导致卡死。
解决方法要么上固态硬盘要么换系统。
作者: nestnall    时间: 2018-5-14 13:48
这?下载速度就是在学校达到过10兆每秒以上
作者: pAxvOHtH    时间: 2018-5-14 13:48
如果系统盘和下载盘用的是同一块机械硬盘的话,的确是
不仅会下载卡,解压也卡,拷贝的时候也卡。只要是占用硬盘大的,都会卡
如果是固态或者是双硬盘就没事了。
作者: dzlqsq    时间: 2018-5-14 13:48
我宽带是300M的 下载速度最高到32MB左右吧,单独下载并不卡,但是下载时打开刺客信条起源玩会卡到爆。锅在机械硬盘上。每秒100MB的读写速度满足不了同时下载和玩游戏
作者: 飞翔de希望    时间: 2018-5-14 13:48
应该是迅雷的问题。我局域网下通常100Mbp/s下载到机械硬盘里面,系统也未出现卡顿,倒是路由器扛不住了
作者: 给我闪    时间: 2018-5-14 13:48
如果是驱动不合适或者老设备,有一个可能是CPU在代替网卡处理数据包。
太久了,想不起来这个事儿叫什么了……
作者: 47971655    时间: 2018-5-14 13:48
我以前单硬盘的时候也是这个问题,明显是软件频繁读写硬盘造成的。机械硬盘的随机读写性能很差的。想彻底解决这个问题,最好的方法就是再加一块硬盘,系统和下载放在不同的盘里。




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4