为什么清空磁盘空间加快计算机?

为什么 - 排空 - 磁盘空间 - 加速 - 计算机 -  00

当学习更多关于计算机和它们如何工作,你偶尔会遇到似乎没有意义的东西。 考虑到这一点,清空磁盘空间实际上是否会加速计算机? 今天的超级用户Q&A帖子有一个困惑的读者的问题的答案。

今天的问答环节由我们感谢SuperUser - Stack Exchange的一个分支,这是一个社区驱动的Q&A网站分组。

截图礼貌nchenga(Flickr的)

问题

超级读者Remi.b想知道为什么清空磁盘空间似乎加快了一台计算机:

我一直在看很多视频,现在了解如何计算机工作更好一点。 我明白RAM是什么,关于易失性和非易失性存储器,以及交换的过程。 我也明白为什么增加RAM速度计算机。

我不明白是为什么清理磁盘空间似乎加速了计算机。 它真的加快了电脑吗? 如果是,为什么会这样做?

它与搜索内存空间以节省东西或与移动的东西,以使一个足够长的连续空间来保存的东西有关系吗? 我应该在硬盘上多少空闲空间?

为什么清空磁盘空间似乎加速了计算机?

答案

超级用户贡献者Jason C有我们的答案:

“为什么清空磁盘空间加快计算机?

它不,至少不是自己。 这是一个真正常见的神话。 它之所以是一种常见的说法是,因为填满你的硬盘往往发生在同一时间,因为传统上会在您的计算机(A)减慢其他的事情。 SSD性能确实会降低,但是这是一个相对较新的问题,SSD是独一无二的,对于临时用户来说并不明显。 一般来说,低可用磁盘空间只是一个红色的鲱鱼。

例如,像:

1.文件碎片。 文件碎片是一个问题(B),但缺乏自由空间,而绝对的诸多影响因素之一,并不是它的唯一原因。 这里有一些要点:

  • 一个文件被分割的可能性是相关的自由空间留在驱动器上的量。 它们与自由空间的最大的连续块的驱动(自由空间,即“空洞”)的大小,它的自由空间量恰好穿上的上限 它们还涉及到文件系统如何处理文件分配( 下文 )。 考虑:一种驱动器,已满95%的所有自由空间在一个单一的连续块具有分裂一个新文件(C)的%的概率为零(和粉碎一个附加文件的机会是独立的自由空间)。 驱动器百分之五满,但数据均匀分布在驱动器上时,具有非常高的碎片几率。
  • 请记住, 当被访问的零散文件时文件碎片只影响性能 试想一下:你有一个很好的,碎片整理驱动器仍然有很多在这免费的“漏洞”。 一个常见的场景。 一切都运行顺利。 最终,你到达一个点,在那里没有更多的大块的剩余空间。 你下载一个巨大的电影,文件最终被严重分割。 这不会减慢您的计算机 所有的应用程序文件和以前这是很好,不会突然变得碎片。 这可能会使电影加载时间更长(虽然典型的电影比特率相对于硬盘驱动器读取速率非常低,它最有可能是不明显的),并且它可能影响电影加载时I / O绑定的性能,但是除此之外,没有什么改变。
  • 虽然文件碎片当然是一个问题,但通常情况下,效果会被操作系统和硬件级Buffering和Caching减轻。 延迟写入,预读,喜欢策略预取器在Windows等,都有助于减少碎片的影响。 您通常不会实际体验显著的影响,直到碎裂变得严重(我甚至敢说,只要你的交换文件是不是零散的,你可能不会注意到)。

2.搜索索引是另一个例子。 假设您已启用自动索引功能,并且没有正常处理此操作系统。 当您向计算机(文档等)保存越来越多可索引的内容时,索引可能需要更长时间,并且可能开始影响计算机运行时的感知速度,包括I / O和CPU使用率。 这与可用空间无关,它与可索引内容的数量相关。 然而,自由空间用尽与存储更多内容紧密相关,因此绘制了错误的连接。

3.抗病毒软件(类似于搜索索引的例子)。 说你有防病毒软件设置为做驱动器的后台扫描。 随着您有越来越多的可扫描内容,搜索需要更多的I / O和CPU资源,可能会干扰您的工作。 同样,这与可扫描内容的数量有关。 更多的内容通常等于更少的可用空间,但是缺乏可用空间不是原因。

4.安装的软件。 假设您安装了许多软件,当您的计算机启动时加载,从而减慢启动时间。 这种减慢发生,因为许多软件正在加载。 但是,安装的软件占用硬盘空间。 因此,在发生这种情况的同时,硬盘驱动器自由空间减小,并且可以容易地进行假连接。

沿着其中当一起这些线5.许多其它实例中, 出现密切关联缺乏自由空间具有较低的性能。

上面说明了另一个原因,这是一个常见的神话:虽然缺乏可用空间不是减速的直接原因,卸载各种应用程序,删除索引或扫描的内容等有时(但不总是;在范围之外这个答案)再次提高性能的原因与剩余的剩余空间量无关。 但这也自然释放硬盘空间。 因此,再次,可以在“更多自由空间”和“更快的计算机”之间进行明显(但假的)连接。

试想一下:如果你有一台机器运行缓慢,由于大量安装的软件等,克隆您的硬盘驱动器(完全一致)到更大的硬盘驱动器,然后展开分区,以获得更多的自由空间,机器不会奇迹般地加快。 相同的软件加载,相同的文件仍然以相同的方式分段,相同的搜索索引器仍然运行,尽管有更多的可用空间没有更改。

“它与搜索内存空间以节省东西有关吗?

不,不是的。 这里有两个非常重要的事情值得注意:

1. 你的硬盘驱动器不搜索周围找地方放东西。 你的硬盘驱动器是愚蠢的。 这是什么。 这是一个大块的寻址存储,盲目地把事情放在你的操作系统告诉它,并读取任何被要求的。 现代驱动器具有复杂的缓存和缓冲机制,根据我们随着时间的推移(一些驱动器甚至知道它们上面的文件系统)的经验预测操作系统将要求什么,但是本质上,驱动器作为一个大的愚蠢的存储砖,偶尔的奖金性能特点。

2. 您的操作系统不搜索的地方放东西,无论是。 没有搜索。 很多努力已经解决这个问题,因为它是文件系统性能的关键。 数据在硬盘上实际组织方式由您决定的文件系统 例如,FAT32(旧DOS和Windows PC),NTFS(Windows的更高版本),HFS +(Mac),ext4(一些Linux系统)和许多其他。 即使是“文件”和“目录”的概念仅仅是典型的文件系统的产品-硬盘驱动器一无所知称为文件神秘的野兽。 详细信息超出了此答案的范围。 但本质上,所有常见的文件系统都具有跟踪驱动器上可用空间的位置的方法,使得在正常情况下(即,健康状况良好的文件系统)搜索空闲空间是不必要的。 例子:

  • NTFS有一个主文件表 ,其中包括特殊文件$位图等,以及大量描述驱动器元数据。 本质上它跟踪下一个空闲块的位置,以便新文件可以直接写入空闲块,而不必每次扫描驱动器。
  • 又如: ext4的有什么是所谓的位图分配器 ,比ext2的改进和ext3,基本上可以帮助它直接确定空闲数据块的扫描空闲块的列表,而不是。 EXT4还支持延迟分配 ,也就是由操作系统RAM数据缓冲,以使在哪里把它减少碎片更好的决策,写出来的驱动器之前。
  • 许多其他的例子。

“或者通过移动物体来创造一个足够长的连续空间来节省物品?

不。这不会发生,至少没有任何文件系统我知道。 文件最终碎片化。

的“走动的东西来弥补一个足够长的连续空间来保存的东西”的过程称为碎片整理 这在写入文件时不会发生。 当您运行磁盘碎片整理程序时,会发生这种情况。 在较新版本的Windows上,至少,这会按计划自动进行,但不会通过写入文件触发。

能够避免中移动这样的事情,关键是文件系统性能,并且是为什么会发生碎裂,为什么碎片整理作为单独的一步。

“我应该在硬盘上多少空闲空间?”

这是一个棘手的问题要回答(这个答案已经变成一本小书)。

经验法则:

1.对于所有类型的驱动器:

  • 最重要的是,留出足够的空间让你有效地使用计算机 如果你的空间不足,你会想要一个更大的驱动器。
  • 许多磁盘碎片整理工具需要最小的可用空间(我认为Windows需要15%,最坏的情况下)。他们使用这个可用空间临时保存碎片文件,因为其他事情重新排列。
  • 留出其他操作系统功能的空间。 例如,如果您的计算机没有大量物理RAM,并且您使用动态大小的页面文件启用虚拟内存,则您将需要为页面文件的最大大小留出足够的空间。 或者如果你有一台笔记本电脑,你进入休眠模式,你将需要足够的空间用于休眠状态文件。 像这样的东西。

2. SSD专用:

  • 为了获得最佳的可靠性(以及在较小程度上的性能),SSD需要一些自由空间,它们不需要太多的细节,它们用于在驱动器周围传播数据,以避免不断写入相同的位置(使用它们) 。 留下自由的空间这个概念被称为过度配置 这是很重要的, 但在许多固态硬盘,强制性的过度配置空间已经存在 也就是说,驱动器通常比向操作系统报告的驱动器多几十GB。 低端驱动器通常需要您手动留下未分区的空间,但对于强制性的OP驱动器, 你不需要留下任何可用空间 这里要注意的重要一点是,过度配置的空间往往只能从分区的空间拍摄 所以,如果你的分区占用整个驱动器,你离开了它的一些自由空间,这并不总是指望。 很多时候,手动过度配置需要将分区缩小到小于驱动器的大小。 有关详细信息,请查看SSD的用户手册。 TRIM,垃圾收集等都有效果,但是这些都超出了这个答案的范围。

就我个人而言,当我有大约20-25%的剩余空间时,我通常会获得更大的驱动力。 这与性能没有关系,只是当我到达这一点,我期望我可能会用尽数据的空间,很快,是时候得到一个更大的驱动器。

比观看可用空间更重要的是确保在适当的时候启用计划的碎片整理(而不是在SSD上),以便您永远不会陷入到足以影响您的程度。


有一件值得一提的事情。 这里提到的其他答案之一,SATA的半双工模式防止同时读和写。 虽然这是真的,这是大大过度简化,并且大多与这里讨论的性能问题无关。 这意味着什么,简单地说,就是该数据不能在两个方向上同时传输线路上 然而,SATA有着相当复杂的规范涉及微小的最大块大小(约每块8kB的上线,我认为),读写操作队列等,不排除写入发生,而缓冲区读取都在进步,交织操作等

发生的任何阻塞都是由于竞争物理资源,通常由大量缓存减轻。 SATA的双工模式在这里几乎完全不相关。


(A)“减速”是一个广义的概念。 这里我使用它来指代I / O绑定的东西(即如果你的计算机坐在那里啃数字,硬盘驱动器的内容没有影响)或CPU限制和竞争与切向相关的事情,高CPU使用(即防病毒软件扫描吨文件)。

(B)固态硬盘是由碎片在顺序存取速度通常比随机访问更快一些,但尽管没有面临同样的限制作为机械设备的SSD影响(即便如此,缺乏碎裂并不能保证因耗损均衡顺序访问等。 )。 然而,在几乎每个一般使用情况下,这是一个非问题。 由于SSD上的碎片导致的性能差异对于加载应用程序,启动计算机等等通常可以忽略不计。

(C)假设是不是故意割裂文件一个健全的文件系统。

请务必通过以下链接阅读超级用户的其他热烈讨论!


有什么东西添加到解释? 声音在评论中。 想要阅读更多的技术精明的Stack Exchange用户的答案? 这里查看完整的话题

赞 (0)
分享到:更多 ()