A白皮书由...出版Diskeeper 公司第 3 页指出,
文件碎片引起的最常见问题是:
a) 崩溃和系统挂起/冻结
b) 启动缓慢和计算机无法启动
c) [...]
d) 文件损坏和数据丢失
e) 程序错误
f) RAM 使用和缓存问题
这些陈述有多准确(特别是有关崩溃和中止启动的陈述)?
答案1
我个人观察到的唯一一个是 (b) 的前半部分 - 启动速度较慢,而且文件访问速度通常也较慢。我个人的经验是,碎片整理良好的磁盘和碎片严重的磁盘之间存在可测量的差异。然而,我不太确定它实际上对人们的影响有多大。
答案2
常见这个词用错了。
根据我的经验,严重的碎片只会减慢速度。(启动缓慢,短暂冻结。)有时甚至会导致应用程序超时,从而导致软件不稳定,因为应用程序不希望发生这种情况。这反过来可能会导致点 a)、d) 和 e),但这只是副作用。
此外,在碎片非常严重的磁盘上,也就是 99.999999999% 的磁盘上,文件损坏实际上可能是一个问题,因为文件系统本身没有足够的空间来完成它的工作,但一般来说,在达到这一点之前,你会认为 PC 太慢了,无法使用。
至于 f):用于缓存的 RAM 使用量通常不会增加,但缓存的效率将大幅下降。
总体而言:从 Windows XP 开始,如果 NTFS 文件系统本身能够将碎片限制在合理的水平,那么它就相当不错了。YMV,但根据我的经验,对于大多数用例(在家中或服务器上),没有必要像 DiskKeeper 想要卖给您的那样进行持续碎片整理。
对于使用频繁(大量新文件/修改文件/删除文件)的文件服务器,情况就不同了:在后台运行低优先级碎片整理作业确实有助于长期保持系统响应时间稳定。前提是服务器不是全天候以这种强度持续使用。碎片整理软件需要有机会完成这项工作。如果它不能正常工作,只会让事情变得更糟。在这种情况下,将整个文件系统转储到磁带(或另一个磁盘,如今硬盘很便宜),格式化文件系统并复制所有内容通常更有效。每 X 周执行一次,其中 X 取决于性能损失何时成为问题。
答案3
我也同意这只会影响性能,但坦率地说,由于驱动器和处理器的速度要快得多,因此这种影响会减轻。在过去,当驱动器以 66/100/133MB/秒的速度传输时,这种影响可能更明显,但如今的驱动器速度如此之快,以至于我认为您会以毫秒为单位来衡量性能差异……换句话说,不明显。
如果您的操作系统没有像 Windows 7 那样自动执行碎片整理,那么您最好只使用操作系统自带的碎片整理程序,并每月安排一次碎片整理。
答案4
Diskeeper 在本文的其余部分对上述每个观点都提供了详细的论证,并列出了其分析所依据的 Microsoft 文章。(当然,这是一份针对 Windows 的白皮书。)
专门解决中止引导的问题:
是的,这是个问题。事实上,这甚至不仅限于 Windows NT。有几种操作系统引导加载程序要求(少数,不是全部)操作系统程序映像文件是连续的,因为尚未加载文件系统驱动程序读取磁盘的代码非常简单,只能处理连续文件(本质上将它们视为单个多扇区读取操作)。许多操作系统的 FAT 卷引导记录都是这种情况,这也是历史上系统文件(如IBMBIO.COM
PC-DOS 和 DR-DOS)和IO.SYS
MS-DOS)需要连续的原因。
当然,一旦加载了能够完全理解磁盘上数据结构的文件系统驱动程序代码(这在许多操作系统中很早就可能发生),碎片就不再是一个致命问题,而只是一个 I/O 性能问题。因此,只有在以下情况下才会出现 ABEND一些操作引导文件;并且通常努力使这些文件在第一次写入时在磁盘上连续,无论如何。(例如,保留连续空间以便做到这一点是/B
MS/PC-DOSFORMAT
命令选项的全部内容。)