不少Win 10用户都遇到过磁盘占用率长时间保持100%的情况,而同一时间硬盘读写速度数值却并不高,很多人觉得这是微软新系统漏洞多的体现,各种教程还在教大家如何关闭特定服务降低硬盘占用率。而实际上有很多时候其实是硬盘自身不给力。
硬盘速度明明可以超过200MB/s,为什么读写带宽仅仅占用了零点几兆就不堪重负爆红了呢?这个疑问还要从硬盘的IOPS(每秒可执行读写操作次数)说起。
HDTune之所以能测出超过200MB/s的连续读写能力,是因为它默认运用64K区块进行测验,倘若每次读写的区块更小,机械硬盘就无法达到那么高的读写带宽了。Win任务管理器只是真实反映了硬盘的繁忙程度,100%磁盘占用的背后原因还应从当前软件对硬盘的性能需要说起。
此外随机读写也会比连续读写更慢,操作系统日常运用最多的是4KB区块随机读取,从HDTune随机存取测验可以看到不一样区块的随机读写吞吐能力。64K区块的随机读取速度仅有3.87MB/s(64KB连续读取速度可达200MB/s),而4K区块的随机读取速度更是低至0.257MB/s,倘若软件要求进行大量512字节的随机读取,那么机械硬盘所能提供的最高性能仅为0.031MB/s,这个时候硬盘占用率就会达到100%了。
由于机械硬盘的工作原理,不一样大小区块的IOPS吞吐能力接近,上图中的3.5寸7200转希捷2TB机械硬盘为例,它的随机IOPS能力大约在60次左右。
而固态硬盘的情况就会特殊一些,由于闪存可以并发存取,并且没有机械活动部件局限,随机读写IOPS会高出很多。SATA接口固态硬盘的最大IOPS性能通常标注的就是4K QD32随机读取能力,大多在每秒10万次以内。所以相对来说Win 10系统运用固态硬盘时出现100%磁盘占用的情况就会少很多。
当然了,10万次是极理想状态下的水平,受TLC闪存普及(相比MLC性能下降)、后台GC垃圾回收、磨损均衡以及读取和写入操作混杂进行等原因的影响,数十兆的读写带宽下固态硬盘有可能就已达到100%占用。