实验测试NTFS文件碎片的影响
今天IT外包网 就为大家分享实验测试NTFS文件碎片的影响。
实验环境如下:
windows 7 SP1 x64
新划出一个NTFS格式分区,大小1G
复制300个1M的文件,总共300M。
随机删掉中间100个文件,腾出100M空间,这些空间都是不连续的。分割成100个小空间。
然后再塞入一个343M的大文件。可能的情况如下
1. 如无心繁华同学猜想的,这个文件被碎裂成100多个碎片,塞入磁盘开始的100多个空间里。
2. 如我所猜想的,这个文件会优先选择连续的空间存放,实在是没有足够的连续空间了才会拆开放入各种小空间。
实验开始
-------------------------------------------------
先介绍一下测试软件,这个软件叫perfectdisk,是disk keeper的竞争对手,显示图标很详细,用来做磁盘分析很好用。
其中如果某个文件碎裂了,会以深一些的颜色显示(如深绿色),如果是连续的,那就会显示成浅颜色(如浅绿色)
新建立的1GB分区,可以看见格式化以后已经写入了一些东西,这些是MFT索引表,还有一些元数据。这是NTFS的特点。
写入300个1M的文件,共300M,可以看见基本上都是没有碎片的,有个别的存在碎片,估计是由于硬盘只有一个,磁头在读写中移动回C盘导致的(猜测)
有一个文件碎成了2片,其他的文件都是连续的。
随机删除了100个文件,就是这个样子,有很多的“孔洞”。最后再复制一个343M的大文件进去,结果是这样。
然后再复制一个343M的大文件进去,由于这个时候已经没有足够大的空间,系统只能有优先用磁盘最末尾的文件。但是空间还不够,只能利用原来删除过文件的空白,把文件掰碎了放进去。
果然如我想象的那样,磁盘存在大段连续空间的时候,系统不会把一个文件掰成细碎的文件存放,而是会尽量寻找连续的空间,当连续的空间不足的时候,才不得不把一个文件掰碎放在各种缝隙里面。
所以当你的C盘足够大的时候,剩余空间足够多的时候,是不会产生大量的系统碎片的。而那些“c盘分15G就够用,分20G就够用”的人们,由于C盘可用空间总是很小,在大量的系统文件读写过程中就会产生大量的碎片,由于大量的碎片严重影响了系统运行速度,所以“系统越用越慢”。所以他们的系统总也用不长久,每隔一段时间就要重装一次。
网友评论:确实小文件不容易产生碎片,但是删除小文件却是最容易产生“磁盘空洞”的。所以如果磁盘已经几乎爆满,只剩下一些小文件写写删删,就会产生很多碎片,小文件也是很多种的,例如删除掉几个4KB的文件,写入一个20KB的,那就可能碎成5块。
网友评论:换句话说,剩余空间足够大,在不停的添加和删除过程中,碎片始终不会太多,因为新加的文件都会尽量连续存放。最后祝大家好运。