在默认情况下,10.6.4以后的Mac OS X只对苹果自家或者预置在Air等产品里的SSD硬盘开启TRIM技术。
TRIM技术的基本原理是,当有文件被删除时,操作系统会发给SSD一个指令,使得SSD在空闲的时候清除被删除文件所占用的存储单元。如果TRIM没有开启,那么SSD会在存储单元再次被使用时,先清除内容,再执行写入。这个区别在于传统硬盘和SSD硬盘的实现方式上。对于传统硬盘来说,写一个数据块的时候,数据块是否有内容是无所谓的,既不会减慢写入速度也不会影响其寿命,而SSD则不然,从底层实现来看,写一个新块,比写一个包含内容的块要慢,而且长期会导致SSD存储单元寿命下降。因此在SSD硬盘上使用TRIM,会提升其写操作速度,及延长SSD硬盘寿命。
具体的开启方法可见这篇博客。
我翻译之后把步骤写在这里,如何打开SSD的TRIM支持:
1. 备份原来的IOAHCIBlockStorage:
打开终端(Terminal),输入以下指令(可能需要输入密码):
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /IOAHCIBlockStorage.original
这一步把系统原来的IOAHCIBlockStorage备份到了磁盘根目录/处。
2. 开启TRIM
sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
这一步更改了IOAHCIBlockStorage内容,打开TRIM。
3. 重启系统
如果一切正常,重启之后TRIM就已经被打开。
以下是恢复步骤:
如果你想关闭TRIM,执行以下命令:
sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|$1\x41\x50\x50\x4C\x45\x20\x53\x53\x44$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
实在不行,你可以恢复到之前备份的IOAHCIBlockStorage:
sudo cp /IOAHCIBlockStorage.original /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
开启TRIM之后,系统信息显示为:

注意下面的“TRIM Support”已经显示为“YES”,说明TRIM已经成功开启了。
机器的其他信息如下:


开启前后速度对比,虽然不明显…
开启前:

开启后:
