释放磁盘空间能加速你的电脑吗?

(英语).

这是从网站Superuser.com对自由磁盘空间对性能的影响问题的答复的翻译.

提交人:我想我不小心写了整本书 在读书前倒杯咖啡

释放磁盘空间能加速你的电脑吗? 释放磁盘空间不会加速一台计算机,至少不会自行加速. 这是一个非常常见的神话。 这个神话是如此的常见,因为填充你的硬盘经常与其他过程同时发生,而这些过程传统上可以使你的计算机减慢. 一个SSD的性能可能会随着填充而下降,但这是一个SSD内在的相对较新的问题,事实上是普通用户看不见的. 一般来说,缺乏自由空间只是公牛的红布.

作者的注: " 缓慢 " 是一个有非常广泛解释的术语。 我在这里用于I/O进程(即,如果您的计算机是纯粹的计算,磁盘的内容没有影响),或处理器相关和竞争的过程,消耗了大量CPU资源(即反病毒扫描很多文件).
例如,下列现象:
  • 文件破碎 。 文件破碎是一个问题,但缺乏空间,虽然是许多因素之一,但并不是造成破碎的唯一原因. 要点 :
    **碎片化影响SSD,因为顺序读取操作通常比随机访问快得多,虽然SSD没有与机械设备相同的限制(即使如此,由于磨损分布和类似过程,没有碎片化并不能保证连续访问). 然而,在几乎任何典型的使用情况下,这不是一个问题。 与碎片化有关的SSD性能差异通常对发射应用程序、启动计算机等过程并不明显。
    • 文件破碎的概率与自由磁盘空间的量无关. 它取决于磁盘上最大的连续块自由空间的大小(即自由空间的“gaps”),从上面看自由空间的体积是有限的. 另一个依赖性是文件系统在放置文件时使用的方法(更多在后期).
      例如: 如果磁盘占用95%的空间和由一个连续块自由代表的一切,那么新文件就会被打碎,概率为0%(当然除非一个普通文件系统专门将文件碎片化 — — 大约). 作者) (也可扩展文件的破碎概率并不取决于空闲空间的大小). 另一方面,一个包含5%数据均匀分布的磁盘,其碎裂概率非常高.
    • 注意文件破碎只有在这些文件被访问时才会影响性能. 例如: 你有一个好的,破碎的磁盘,上面有很多免费的“空白”。 典型的情况 功德圆满. 然而,在某个时候,你来到一个 不再有大块自由区。 你下载了一部大电影,文件很零散。 它不会减慢你的电脑。 您的应用文件 和其他完全罚款的 将不会立即变得支离破碎。 一部电影当然需要更长的时间来加载(然而,典型的电影比特率比硬盘读取速度低得多,
    • 虽然破碎是一个问题,但问题往往被操作系统和硬件的缓冲和缓冲所抵消. 推迟写作,先发制人阅读等,有助于解决不成体系造成的问题. 一般来说,在破碎程度太高之前,你不会注意到任何东西(我甚至敢说,只要你的呼号文件不是破碎的,你就不会注意到任何东西)。
  • 另一个例子是搜索引擎索引。 假设您已启用自动索引, 操作系统执行得不好。 随着您将越来越多的可索引文件保存到您的计算机(文档等),索引需要越来越多的时间,并且可以开始对计算机在工作过程中的观测性能产生明显的影响,同时消耗I/O和CPU的时间. 这与自由空间无关,而是与正在索引的数据数量有关. 然而,磁盘空间的耗尽与保存更多内容同时发生,因此许多人确立了错误的关系.
  • 抗病毒药 这与搜索索引的例子非常相似. 说你有抗病毒 来做你驱动器的背景扫描 你有越来越多的文件可以扫描,搜索开始消耗越来越多的I/O和处理器资源,可能干扰你的工作. 同样,问题是扫描内容的数量。 更多的内容意味着空间更少,但缺乏自由空间是问题的原因.
  • 既定方案。 电脑启动后, 有很多程序在运行, 这一减速之所以发生,是因为很多程序被加载. 同时,安装的程序占用了磁盘上的空间. 因此,自由空间的数量随着减速而同时减少,这可能导致错误的结论.
  • 有很多其他类似的例子给出了将磁盘空间耗尽和性能下降联系起来的幻想.

以上说明了这个神话盛行的另一个原因:虽然自由空间的耗尽并非是放缓的直接原因,但是各种应用的未安装,索引和扫描内容的删除等有时(但并不总是,这类情况不属于本文本的范围)会导致生产力的提高,原因与自由空间的数量无关. 磁盘空间自然释放. “更自由的空间”和“快速计算机”之间有虚假的联系。 “

听着编号 : 如果因为安装的大量程序等原因,你的计算机速度很慢,而你将你的硬盘完全复制到更大的硬盘上,然后扩展分区以获得更多的自由空间,那么计算机不会通过手动获得更快的速度. 同样的程序被下载,同样的文件被以同样的方式分散,同样的索引服务作品,尽管自由空间增加,但没有什么变化.

这和找到存放文件的地方有关吗?
不,不是这样的。 这里有两个要点:
  1. 您的硬盘不是在寻找放置文件的地方 。。 。 。 。 硬盘是愚蠢的。 他没什么 这是一大块可地址存储器,在放置方面盲目服从操作系统. 现代驱动器配备精密的缓冲和缓冲机制,旨在根据人类经验预测操作系统查询(有些驱动器甚至知道文件系统). 但本质上,该驱动器应被视为一个大愚蠢的数据存储砖,有时具有增强性能的特点.
  2. 您的操作系统也没有寻找位置 。 没有"搜索"。。 。 。 。 已作出很大努力来解决这一问题,因为记录系统业绩至关重要。 数据存在于文件系统定义的您的驱动器上,例如FAT32(旧DOS和Windows计算机),NTFS(新Windows系统),HFS+(Mac),ext4(一些Linux系统),以及许多其他. 甚至“文件”或“目录”的概念也只是典型文件系统的结果:硬盘不知道像“文件”这样的野兽。 详细内容不在此列。 然而,基本上所有常见的文件系统都包含跟踪磁盘上的自由空间的方法,因此在正常情况下(即文件系统的正常状态)不需要搜索自由空间. 实例:

    • NTFS包含包含特殊文件(例如$Bitmap)和很多描述磁盘的元数据的主文件表. 基本上,它跟踪后续的自由块,这样文件就可以写入驱动器,而无需每次扫描驱动器.
    • 另一个例子是ext4有一个名为“位图分配器”的实体,它比ext2和ext3有改进,有助于直接确定自由块的位置,而不是扫描自由块的清单。 ext4还支持"延迟分发,"在写到磁盘之前,基本上由操作系统缓冲数据进入RAM,以便作出最佳的放置决定以减少碎块.
    • 还有很多其他的例子

也许是要前后移动文件,以便在保存的同时分配足够长的不间断空间?
不,这不是真的。 至少我所知道的任何文件系统都没有 档案只是支离破碎

将文件前后移动以分配一个长的连续块的过程称为分解. 写入文件时不会发生这种情况 。 这发生在您运行磁盘分解程序时. 至少在较新的Windows系统中,这在时间表上自动发生,但写一个文件从来不是启动这一过程的理由.

避免不得不这样移动文件的能力是文件系统性能的关键,分裂和分解的原因是一个独立步骤.

磁盘上应该留多少空格?
这是一个更困难的问题,我已经写了很多。

可遵循的基本规则如下:
  • 对所有光碟类型:
    • 最重要的是留下足够的空间来有效地使用你的计算机. 如果空间耗尽,可能需要更大的磁盘.
    • 许多磁盘分解设施需要最少的自由空间(在最坏的情况下,它与Windows一起需要15%的自由空间)来完成他们的工作. 他们利用这个空间来暂时存储碎块文件,同时移动其他对象.
    • 为其他操作系统功能留有空间. 例如,如果您的计算机没有大量的物理RAM,并且虚拟内存被启用了动态音量呼呼文件,那么你应该留下足够的自由空间来容纳最大大小的呼呼文件. 如果你有一台电脑发送冬眠,你需要足够的空闲空间来保存冬眠状态文件. 这些都是东西。
  • 关于SSD:
    • 为了最佳的可靠性(并在较小程度上的性能),SSD上应该有一些空闲的空间,这种空闲空间在不详细的情况下,用来在磁盘上均匀地分布数据,以避免经常写到同一个地方(这会导致资源枯竭). 保留空间的概念被称为过度提供. 这很重要,但许多SSD已经具备了强制备份空间. 也就是说,磁盘的空间往往比显示操作系统多几万千兆字节。 便宜的驱动器常常需要你离开 部分空间没有标记。 但是,在使用强制冗余的磁盘工作时,不需要这样做. 必须指出, 更多的空间往往只取自没有标记的地区。。 。 。 。 因此,当你的分区占据了整个磁盘时,它并不总是起作用的,你在上面留下一些自由的空间. 手动中继需要您使分区小于磁盘大小 。 检查您的 SSD 的用户手册 。 TRIM和垃圾收集之类的东西也有影响,但它们超出了本文本的范围.

我个人通常会购买一张新的,更大的碟片, 当我有20%到25%的自由空间。 这与表现无关, 只是当我说到这一点时, 这意味着这个地方很快就会耗尽, 这意味着是时候买一张新碟片了。

比现场跟踪更重要的是要确保计划中的分解在它应该在哪里(而不是在SSD上),所以你永远不能到达它足够大,可以产生显著影响的程度.

后词
还有一件事要提到。 这个问题的另一个答案提到,半复式的SATA模式使得无法同时读写. 与本文讨论的绩效问题基本无关。 实际上,这仅仅意味着数据不能同时通过两个方向的线传输. 然而,SATA规格包括极小的最大块大小(我在通过电线传输时认为每个块大约8kB),读写操作的队列等,在读取和类似重叠操作进行的同时,没有什么能阻止将数据写入缓冲器.

任何可能发生的阻塞都将涉及对物质资源的竞争,通常被大量缓存量所抵消. 双联型SATA模式与本案几乎无关.

资料来源:habrahabr.ru/post/256231。