[翻译]SSD读写变慢无虑~~全面优化Vista系统下SSD性能~~
本帖最后由 ONLY 于 2009-8-31 13:43 编辑 前言 如果你是一个电脑爱好者,那么最近一年来最令人兴奋的硬件产品非固态硬盘(SSD)莫属。将SSD安装进你的机箱可以产生巨大的影响:可以大大提高系统的启动时间、提高应用程序启动速度,或者反应更灵敏,操作更顺畅。 然而,就像普通的硬盘那样,随着长时间的使用,尤其是比较频繁的删除文件,会在MLC SSD的“数据区块”上产生“碎片”,这会对SSD的性能带来不利的影响。 对这些“碎片”的再利用需要卸载掉数据,卸载时还需要在其它的数据区块暂存,当对碎片中的数据进行读/删/改/写等操作时,需要的时间远远超过只是发送一个简单的写命令到一个空的区块。这是SSD的性能受到影响的一个原因,并且这种作用在很大程度上影响到SSD的读写性能。 下面是两张截图,分别是OCZ Vertex固态硬盘(v1571固件)在初始使用时和几个月使用后的HD-Tach截图。平均读速率相差了40MB/s——这几乎是17%的性能下降! 新盘的读速率达到240MB/s 一段时间的使用后,读速率下降到200MB/s左右 虽然一些SSD产品具有碎片自动收集或自我修复算法可以用来避免产生这样的性能下降,以及Windows 7引入的TRIM命令,可以用来自动清除这样的“碎片”区块,这些方法据说可以无视操作系统在SSD上频繁读写操作所造成的性能下降。 Windows Vista是造成这一现象的罪魁祸首,它的“碎片整理”功能、预读取功能、文件系统索引功能等等一直在后台运行,几乎持续不断的进行写入操作,即便是在系统待机时也是如此。这些功能对普通的硬盘是有效的,可以改善读取和响应时间,不过对于SSD来说,这些功能就几乎无用了,而且还额外增加了SSD的读写开销。 我们的优化方法不涉及暴力,只需要简单的几处调整即可! 幸运的是,我们bit-tech.net已经与SSD打了九个月的交道了,积累了一些经验和技巧,用以优化使用固态硬盘的Windows系统,接下来我们就将谈谈我们的优化方法。 Vista系统下的SSD调优 首先,你要确保任何形式的磁盘整理程序(或功能)都被禁用。对于Vista系统来说,操作如下:右键单击“我的电脑”,浏览到固态硬盘的“属性”》“工具”》“碎片整理”,并将碎片整理功能设置为“禁用”。由于对SSD的任何区块访问时间都是相同的,它们不需要使用和普通硬盘一样的碎片整理工具,尽管Windows不会承认这一点。关闭“碎片整理”意味着系统就没有必要去整理SSD上的文件,也就不会再有额外的时间开销了。 停用“碎片整理”功能 与此类似,你还需要停止使用“页面文件”。这个功能对普通的机械硬盘也许有用,但不断的读写操作将降低SSD的性能。要禁用它,右键单击“我的电脑”,浏览到“属性”》“高级系统设置”》“高级”》“性能”设置》“高级”》更改和设置,将SSD所在的分区更改成“无分页文件”。不过这样一来,Vista(以及Windows 7)将会把页面文件交换到内存中去,所以建议你最好使用4GB以上的内存容量。即便容量达不到4GB,对性能也不会有太大的影响。 在SSD上不使用“页面文件” 不过,请记住,最近的一些游戏,例如Arma II以及Dawn of War 2,经过特别的编码,禁用页面文件可能无法正常运行。在这种情况下,你可以把页面文件设置到其它的机械硬盘上去,以获得最大的兼容性。 禁用掉预读取服务(Superfetch) 另外,值得一提的是Vista的预读取服务“Superfetch”,可以预加载经常使用的程序文件到内存中以缩短载入时间。虽然这一功能不像磁盘整理或者页面文件那样对SSD进行频繁的操作,不过考虑到这一后台服务对SSD响应时间和读取速度毫无价值,你可以在服务菜单中找到Superfetch,禁用掉。 你还可以同时禁用掉“Windows Search”(搜索)服务。不过我们认为搜索功能是Vista和Windows 7中最有用的功能之一,可以予以保留,而且这项服务对性能的影响微乎其微。 同样,有些人认为,也需要禁用“Windows Index”(索引)服务,以阻止Windows后台访问文件系统。不过我们发现,这项服务很像上面的搜索服务,对性能的影响非常小,而且作用还很大,不值得为了一点点性能的提升来禁用一个非常有用的服务,所以我们建议还是启用这项服务。难道使用SSD的代价就是禁用掉所有有用的功能(服务)吗? 另外的调优技巧 由于SSD在经过了长时间的读写操作,例如安装操作系统、启用大量的服务、安装大量的系统更新以及程序后,大量的“碎片”区块会拖慢SSD的读写速率。为了避免这种情况,可以考虑使用例如Acronis TrueImage这样的磁盘镜像软件,将SSD中安装的操作系统镜像下来。 创建SSD镜像 从镜像文件中恢复系统和数据 由于镜像文件是作为一个单一的大文件进行写入,而不是多个小文件的写入,这可以减小系统由于碎片区块造成的性能损失。 下面的截图,来自于我们对一块系统盘的镜像和恢复——恢复到另一块全新的OCZ Vertex中。仅仅是镜像和恢复,写速率就恢复了20MB/s。镜像软件还可以用于SSD固件升级时的备份,尤其考虑到基于Indilinx控制器的SSD经常会更新它们的固件(例如本文中的OCZ Vertex系列)。 从镜像中恢复就可以使性能得以提升 完全删除 如果你没有像上面这样的一些SSD性能调优步骤,那么你很可能就是SSD性能下降的受害者。虽然基于Indilinx控制器的SSD目前有有效的碎片区块收集/还原算法,不过最可靠、最终极的办法还是对SSD执行“完全删除”操作,为此,我们建议使用基于DOS的工具——HDDerase(http://cmrr.ucsd.edu/people/Hughes/HDDEraseWeb.zip)。请在操作前备份好所有的数据! 你可以使用可启动U盘来启动这个小工具,不过请注意,这个程序最初是为国家安全局(NSA)设计的,将会把硬盘上的数据完全删除,所以轻易不要使用!它需要你把SSD插到主板的P0、P1、S0或者S1接口(如果不确定端口,请参阅主板说明书),并需要在BIOS中把接口的工作模式从增强或者AHCI改成Legacy模式(一般主板对SATA接口的定义有IDE、AHCI等,请设为IDE模式)。 通过使用镜像恢复和全盘删除等方法,我们可以将性能下降的SSD基本恢复到全新的程度,就像我们上面揭示的那样。 其他值得关注的是,尽管Windows 7近来一直在宣称“良好的支持SSD”,不过我们到目前为止还没有看到哪一款SSD产品打上了“Windows 7”的认证标签。我们了解到,这是因为微软坚持认为SSD必须100%确保产品不会在较长时间的使用中出现性能下降的问题——这其实是对SSD制造商的一种警告。虽然目前还没有市售版的SSD能够达到这样的要求,不过我们已经在Indilinx新的碎片区块收集算法中看到这样的改进(OCZ Vertex用户已经可以得到一个Beta版的固件/程序),这表明我们可以在不远的将来得到性能不会下降的SSD产品了。届时我们再来向你揭露新版SSD产品的全新表现! |