是否有一个经验法则来确定硬盘上可以留出多少空间?我曾经听说你应该至少留出 5% 的空间以避免碎片化。
[我知道答案取决于使用情况(例如:视频文件与文本)、磁盘大小、RAID 级别、磁盘格式、磁盘大小 - 但由于问同一个问题的 100 个变体是不切实际的,因此欢迎提供任何信息]
是否有一个经验法则来确定硬盘上可以留出多少空间?我曾经听说你应该至少留出 5% 的空间以避免碎片化。
[我知道答案取决于使用情况(例如:视频文件与文本)、磁盘大小、RAID 级别、磁盘格式、磁盘大小 - 但由于问同一个问题的 100 个变体是不切实际的,因此欢迎提供任何信息]
您通常希望留出大约 10% 的空闲空间以避免碎片化,但有一个问题。默认情况下,Linux 将为 root 用户保留 5% 的磁盘。当您使用“df”时,如果您以非 root 用户身份运行它,则输出不包括 5%。只是在进行计算时要记住一些事情。
顺便说一句,您可以使用 tune2fs 更改根保留。例如
将根储备设置为 2%。当然,通常不建议这样做,除非您有非常具体的目的。
我建议在 Windows 上使用 10% 以上,因为如果在运行时驱动器上没有那么多空闲空间,碎片整理将不会运行。然而,留下可用空间并不一定会阻止碎片的发生。正如您已经提到的,它取决于使用情况。碎片的产生更多取决于驱动器上数据的差异量以及正在写入和删除的文件的大小。数据变化越多,文件大小越随机,发生碎片的机会就越大。
减少碎片的唯一真正方法是定期手动对驱动器进行碎片整理,或者使用像 Diskeeper 这样的工具,它在 Windows 的后台运行,在机器空闲时进行清理。有些文件系统的碎片由操作系统在后台处理,因此不需要手动运行碎片整理。
我尽量将已用空间保持在 80% 以下。超过这个数字,文件系统通常必须更加努力地将数据放在磁盘上,从而导致碎片。
我会说通常是 15%,但是现在硬盘驱动器有多大,只要你有足够的临时文件和交换文件,从技术上讲你是安全的。但作为一种安全做法,一旦达到 15%,就该开始考虑进行一些重大清理和/或购买更大/第二个硬盘驱动器。
SSD 为此添加了一个新层。磨损均衡和写入放大。由于这些原因,您需要比传统硬盘驱动器绝对需要的更多可用空间。
Short Stroke 传统硬盘驱动器可减少随机读取/写入的延迟。“短行程”SSD 为驱动器控制器提供了更多未使用的块,用于垃圾收集/磨损均衡例程,因此它不会加速驱动器,但会增加寿命并防止 SSD 装满时出现的速度损失。
您仍然不想填充驱动器,但使用 SSD 不会立即产生影响,原因也不同。
据我了解,它还取决于驱动器上的文件系统。一些文件系统对磁盘碎片等问题更具弹性。
是的,取决于使用情况和底层存储系统。一些系统,如基于 SAN 的高端磁盘阵列,嘲笑文件碎片,使得碎片对系统的唯一影响是操作系统开销,将东西分散到各处。其他系统,如笔记本电脑,驱动器是另一回事。这并没有涉及到较新的文件系统,例如 ZFS,其中空间硬限制的概念充其量是模糊的。
当然,NTFS 是它自己的野兽。这些天来,我为 XP 系统提供了 15GB 的 C:\ 总大小,并且还没有玩过 Vista/Win7,以至于不知道在那里推荐什么。您真的不想在 C: 上获得低于 GB 的免费空间。使用影子副本意味着您应该比其他方式保留更多的“空白”空间,我会说 20% 的可用空间是需要添加更多空间或需要进行清理的标记。
对于普通的旧 NTFS 数据量,当它低于 15% 时我会担心。但是,如果驱动器是 1TB 驱动器,那么 15% 仍然有很多空间可供使用和分配新文件(相反,碎片整理需要更长的时间)。
我总是尝试在任何类型的系统卷上保留大约 50% 的空闲空间,可能还有更小的数据量。如果可能的话,将 2 调整为 1,我会将警告阈值设置为 75% 或其他值。
但是对于数据存储来说,这只是数据增长率的问题,在设置监控时需要监控和/或估计......如果数据在例如 1TB 容量上增长速度不是很快 - 几个 %警告阈值会很好,我会对 90-95% 的利用率感到满意。如果增长率较高,请将其调低以及时得到通知......如果数据没有增长并且只是随着计划的碎片整理而改变,通常可以处理碎片。
我尝试将其中的 50% 免费保留有几个原因:
我听说——尽管页面文件的大小相对较小——留出那么多空间可以加快速度。我相信它来自几年前出版的非常有用的书“PC Hacks”。
无论驱动器有多大,仅将其填充到一半的目标都会使您注意那里的内容,而且-对我而言-这意味着我最好将内容存档或移动到更大的外部。