我在用着这个 Windows 小工具 了解我的硬盘信息。除了可用/已用空间外,它还显示读写速度。这些几乎不言自明。然后是“磁盘活动”测量,这是一个百分比指标。
我注意到,当它非常高时,我的电脑会变慢,特别是在启动后,当启动许多程序时。然而,很多时候读写速度指标很低,磁盘活动百分比很高。
我认为我没有充分理解这个磁盘活动指标背后的概念,为什么它是百分比,它是什么意思?
答案1
这到底是什么意思,你可能需要问开发人员或查看代码。但这个概念本身似乎与资源监视器显示的内容类似队列长度在图表中:
它在主视图中也以百分比形式显示:
基本上,这表示有多少硬盘命令正在等待执行。如果 I/O 很少,那么磁盘可以足够快地读取/写入以快速满足所有命令,但如果要在硬盘上的各个位置执行许多操作,则需要等待大量时间才能重新定位手臂等。(旁注:上面的屏幕截图来自稍后出现问题的 SSD)。
一旦队列长度超过 1,您通常会开始感觉到系统变慢。特别是如果它是您的页面文件所在的磁盘。由于这是一个非常低级的事情,它会影响一切,甚至从页面文件读取错误页面的命令也必须等待。如果您认为由于 RAM 已满,在分页开始时性能会下降……情况要糟糕得多(每次我在大型存储库中进行 SVN 更新时都会发生这种情况)。
答案2
硬盘由一个或多个圆形盘片组成,其中一个盘片上涂有磁性材料。读/写磁头漂浮在盘片上方的薄气垫上。它可以感应到下面的磁电荷(读取)。或者它可以使用小电磁铁来改变它(写入)。
下图中的盘片是灰色的磁盘。绿线是臂,末端是磁头。
如你所见,头部只覆盖了灰色圆盘的一小部分。由于圆盘在旋转,它最终会覆盖浅绿色圆环中的所有斑点。
如果我将头稍微向一侧移动,它就会覆盖另一条圆形轨道。
然而移动磁头和旋转磁盘都需要时间。
如果我想读取一些恰好位于头部下方的信息,我可以很快地完成。如果我想读取一些刚刚离开头部的信息,我必须等到该部分再次出现。平均而言,这需要半个旋转。
在 7200RPM 驱动器上,盘片每分钟旋转 7200 次。即每秒 120 次。或每 0.008 秒一次。这意味着当您想要读取新内容时,您将平均需要等待 0.004 秒才能让磁盘旋转到正确的位置。(4 毫秒)。
情况变得更糟。因为磁盘不是设置为只读取盘片上的一个小圆圈。它可以向内和向外移动以读取许多同心圆。移动磁头也需要时间。
如果我总结一下,可以归结为三点:
- 磁盘可能正忙于从磁盘读取数据
- 磁盘可能正忙于将数据写入磁盘
- 或者磁盘可能正忙于做其他事情,如等待磁头到达正确位置。
使用预编辑书籍类比。
假设你正在给孩子读故事。你有一本书,你读了一两句话。然后你发音,这样你的孩子就知道故事是什么了。你读得更多。你说得更多。
但是,最终你会到达页面的末尾。
您的孩子必须等待您翻过一页,然后您才能继续讲述故事。
这似乎是一件微不足道的事情。但是,硬盘速度非常快,读取速度非常快,翻页(将 RW 磁头移到另一个圈)需要花费大量时间。
如果我让磁盘只读取单个磁道,每秒的读取速度可能为 200 兆字节。这大约相当于一个可以快速阅读一页书的读者的速度。
现在,如果我让你读每一页的第一个字,速度就会慢下来。但你会非常忙碌。不是阅读,而是翻页。
回复你的问题,你写道many times the read/write speed indicators are quite low, and the disk activity is high.
读/写指示器指示您从磁盘读取数据的速度。单位为 MB/秒(或者,以字/秒为单位)。
活动指示器会告诉您磁盘通过读取或写入数据或等待 RW 磁头到达正确位置而忙碌的时间。如果它指示 100%,则表示磁盘正在以最快的速度运行。如果您添加其他任务,那么您将不得不等待更长时间才能完成它们,因为磁盘根本没有时间执行更多工作。
至于为什么要以百分比显示:我想是因为它易于阅读。0%表示完全空闲,100%表示磁盘尽可能努力地工作,介于两者之间的任何值表示驱动器的工作强度。
碎片化(如评论中所问)。
假设我有一本有 20 页编号的笔记本。我写了一个占 5 页的短篇故事。然后我又写了三篇长度相同的故事。我的笔记本现在看起来像这样。
页码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 内容 S1 S1 S1 S1 S1 S2 S2 S2 S2 S2 S3 S3 S3 S3 S3
我认为故事 2 很糟糕,于是我用橡皮擦将其删除。笔记本现在如下所示:
页码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 内容 S1 S1 S1 S1 S1 S3 S3 S3 S3 S3 S3
我现在写第四篇和第五篇故事。两篇故事都很短,只有 3 页。我可以从第 13 页(第 3 篇故事之后)开始写。但那样会浪费可用空间,我很快就得买一本新笔记本了。
或者我可以从现在空白的第 3 页开始写我的第一个故事。如果我这样做,我的笔记本现在看起来像这样:
页码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 内容 S1 S1 S1 S1 S1 S4 S4 S4 S3 S3 S3 S3 S3
然后我开始用铅笔写第 5 篇故事。从第一页空白处开始。写完两页后,我的空白处就用完了。在第 10 页的底部,我潦草地写上“续第 16 页”,并在该页上写下我的故事的最后一页。
页码:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 内容 S1 S1 S1 S1 S1 S4 S4 S4 s5 s5 S3 S3 S3 S3 S3 s5
现在,每当有人阅读我的故事时,他们都能快速阅读大部分故事。然而,第 5 个故事需要他们翻几页,因此比类似的 3 页故事需要更多时间才能读完。换句话说,阅读速度较慢。
文件系统也发生过类似的事情。磁盘就是笔记本。
如果我打开一本书,我会得到两页对开的书页。我可以快速阅读它们。同样,在磁盘上,我可以快速阅读同一磁柱上的所有扇区(例如图片中的绿色环)。磁盘上的扇区永远不会移动,它们就像我笔记本中的页码一样。但是,它上面的故事(文件系统中的文件)可能会散落在磁盘上。这就是碎片。
(是的,作为一个解释,这个有点短,但这只是一个附带问题)
答案3
正如其他人所说,你应该询问开发人员磁盘活动百分比到底是多少。不过,我们还是简单解释一下它可能意味着什么。
我注意到,当它真的很高时,我的计算机就会变慢,特别是在启动之后,当启动许多程序时。
这并不奇怪。当磁盘活动量高时,磁盘就忙于读取或写入。读取或写入的进程必须等待,直到其数据被读取或写入。磁盘活动越多,它们等待的时间就越长,系统的响应能力就越低。
但很多时候读写速度指标比较低,磁盘活动百分比较高。
如果磁盘要读取某个扇区,它必须先定位磁头,然后等待扇区位于磁头下方,然后从扇区读取数据。定位和等待扇区是最慢的部分,需要几毫秒的时间。如果您正在读取/写入一个连续的文件,您可能最终会向磁盘发送大量读取,而磁盘将必须先定位磁头一次,然后读取大量数据。在这种情况下,您将获得较高的数据速率。在其他时候,您可能需要读取分布在整个磁盘上的扇区。对于每个扇区,磁盘都必须先定位磁头。磁盘将很忙,但数据速率会很低,因为大多数时间磁盘都在等待磁头定位。