搜索
查看: 1443|回复: 14
收起左侧

[讨论] SSD过多的文件系统碎片是否影响读取速度

[复制链接]
景圣临
发表于 2017-10-10 05:54:37 | 显示全部楼层 |阅读模式
本帖最后由 景圣临 于 2017-10-10 23:20 编辑

不知道是不是发错了区。
现在绝大多数人认为SSD不需要传统的磁盘碎片整理。这个帖子引出一些证据反驳这个观点。
欢迎参与讨论,如果我搞错了求打醒。

先转下这个贴,是英文的:
http://www.overclock.net/t/15388 ... fect-ssd-read-speed

这个帖子至少是针对WINDOWS文件系统的。大意是说当一个SSD上的某个文件碎成一定程度(>~ 1000片)后,读取速度会显著下降,因为需要更多I/O来读同一个文件。这里碎片指的是文件系统所在的LBA级,不是硬件的PBA级。PBA级的应该由GC和TRIM接管。要特别看一下1L,8L和9L的测试图。





上面的帖子里面引了一个微软工程师的文章:
http://www.hanselman.com/blog/Th ... ragmentYourSSD.aspx

这个文章的观点大致和第一个帖子相同。另外作者提到Windows系统还原打开后,默认情况下系统每28天会自动对SSD做磁盘整理。具体的细节不清楚,作者也不是很会回答跟贴人的问题。。。

~~~

我自己的情况是,用了5年多的Crucial M4 256 G,50%以上的文件在LBA级都有碎片,而且其中至少一半碎成1000片以上。页面文件已经碎成65535片......  怪不得感觉SSD越用越慢,手动TRIM都不管用。另外,我的Windows默认碎片整理工具被PerfectDisk自动关闭了。

我先用PerfectDisk的Boot-time Defrag整理了SSD上页面文件和主文件表MFT的碎片,再在安全模式下用MyDefrag v4.3.1的Flash Memory Disks Profile整理了SSD,花了大概2个小时,消耗1个PE。可能是因为M4的TRIM不积极,所以只消耗了1个PE。接着手动/自动Trim。

(这里说一下PerfectDisk的几种整理模式。基本对SSD都不是最优的。
它默认的SSD Optimize模式不行,因为只管剩余空间的缝隙,提升写入速度,但会大量增加文件系统碎片,降低读取速度。
SmartPlacement虽然会整理文件系统碎片,但在没有文件系统碎片的情况下,文件的顺序对速度应该没影响,刻意按最后访问的日期把文件归类应该只会增加写入量。
所以MyDefrag的Flash Memory Disks Profile胜出,而MyDefrag不管的主文件表MFT和页面文件Pagefile要交给PerfectDisk的Boot-time Defragmentation处理)

整理后,实际感觉开关机变快了,特别是关机,从以前的15-20秒变成5-8秒。玩Steam的游戏偶尔的顿卡再没出现过,读图/送人回大厅的速度也变快。注册表压缩前的深度扫描从11分钟变成8分钟。开启火狐明显变快。

~~~

更多参考:

http://forum.notebookreview.com/ ... perfectdisk.699187/

https://www.anandtech.com/show/6489/playing-with-op
baibao578
发表于 2017-10-10 13:23:51 | 显示全部楼层
SSD固件的问题,GC回收机制做得好,不存在的。
麻辣豆腐
发表于 2017-10-10 19:16:48 | 显示全部楼层
SSD对于碎片这一块,可能处理的比较好,固然不需要整理
景圣临
 楼主| 发表于 2017-10-11 02:19:11 | 显示全部楼层
本帖最后由 景圣临 于 2017-10-11 02:25 编辑

硬件级的GC做得再怎么好,读取文件时也得经过OS这一层,不管PBA对LBA层如何欺骗。至少对NTFS来说是这样

而OS这一层如果有很多文件系统碎片,就会增加i/o overhead

文件系统碎片对于HDD的影响远高于SSD。但是如果SSD上文件系统碎片的数量太多,对速度的影响就不可忽视了。看我转的图

整理前我这50%的文件都有碎片。多数文件的碎片都是1000以上
碎片数量排第一名的是Pagefile.sys,65535片,貌似不能再多了
排第二名的是一个暗黑2的重要MPQ文件,已碎成16000+片  

baibao578
发表于 2017-10-12 23:31:03 | 显示全部楼层
用楼主的方法尝试对手里这块intel 730 240GB的SSD做了碎片整理,基本没有感觉到任何速度上的区别。

虽说没有太多数据佐证,但我个人还是认为GC回收机制做得好的SSD,即便是存在LBA级碎片,可能整理过后的提升也不是那么明显。

而且整理碎片对颗粒的寿命消耗还是比较厉害的,这个必须注意。
景圣临
 楼主| 发表于 2017-10-13 03:14:47 | 显示全部楼层
baibao578 发表于 2017-10-12 23:31
用楼主的方法尝试对手里这块intel 730 240GB的SSD做了碎片整理,基本没有感觉到任何速度上的区别。

虽说 ...

整理前是什么状态?
整理时具体PE消耗多少要看主控。我这里满盘乱只消耗了1
baibao578
发表于 2017-10-13 09:03:15 | 显示全部楼层
景圣临 发表于 2017-10-13 03:14
整理前是什么状态?
整理时具体PE消耗多少要看主控。我这里满盘乱只消耗了1

1个PE已经很值得关注了。
我这边消耗了可能不到0.25个PE吧。
景圣临
 楼主| 发表于 2017-10-13 09:35:14 | 显示全部楼层
baibao578 发表于 2017-10-13 09:03
1个PE已经很值得关注了。
我这边消耗了可能不到0.25个PE吧。

我的是MLC能刷至少3000次,如果主控不先挂
baibao578
发表于 2017-10-13 10:24:14 | 显示全部楼层
景圣临 发表于 2017-10-13 09:35
我的是MLC能刷至少3000次,如果主控不先挂

730一样是MLC。

总之,在我这里的效果不明显,可以说没效果。GC回收策略做得好,估计是不需要做碎片整理的。
eubyo
发表于 2017-10-17 15:40:56 | 显示全部楼层
让系统自动整理吧
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|优惠券| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2017-12-16 09:19 , Processed in 0.056663 second(s), 5 queries , MemCached On.

快速回复 返回顶部 返回列表