原文地址:https://sites.google.com/site/easylinuxtipsproject/ssd
下文你将获得一个完整的文档,如何为你的ubuntu14.04、Linux-Mint17.1和Debian优化SSD。这样你就可以好好享受你的SSD多年。
注意:本文只适用于ubuntu、linux-mint和debian,关于在opensuse 中如何优化请查看另外一个页面。
目录:
避免过度的措施;
1.1 4K对齐不再必要;
BIOS和UEFI:请设置为AHCI;
检查更新固件;
避免快速磨损:减少写操作;
保留7%容量为预备空间;
安装时请选择ext4作为文件系统;
安装后调整noatime参数;
相关的调整:自动TRIM,通过 rc.local 、cron或 discard 三种方式;
8.1首选方法:通过rc.local方法;
8.1.1禁用每星期多余的TRIM的Cron 作业;
8.2如果电脑经常不关机:每天通过cron 方法;
8.2.1禁止多余的TRIM的每星期Cron 作业;
8.3不建议:通过discard 方法;
如何手动执行TRIM;
限制交换磨损;
几乎准备好后重启;
限制Firefox的写操作;
限制Chrome或者chromium的写操作;
Ubuntu12.04和Linux Mint13:把调度器改成 Deadline;
请不要开启hibernation;
避免碎片化而且不要整理碎片;
如果使用双重引导启动,请不要让Windows杀死你的SSD;
无忧享受你的SSD;
可选(高级用户):临时文件和日志文件;
更多提示?;
1.避免过度的措施;
首先一点警告:不要过度优化(别矫枉过正)。在这个网站上可以发现很多过度措施。
一方面有很多人根本不为SSD采取任何优化措施,另一方面,你发现有些人采取各种各样的极端和复杂预防措施。不管哪方面都不理智。
本文的“如何”意味着是一个最佳实践。它将告诉你通过应用设置几个非常简单的措施就可以达到一个好的结果。于是,你就可以年复一年的享受你的SSD。
考虑到厂商给予的长期保修时间,可能会超过五年(十年应该是一个合理的期望)。无论如何远远超过普通硬盘。
1.1 手动4K对齐不再是必要的;
一个常见的误解是,SSD上的分区应该首先合理的对齐。
几年前这是对的,但是现在不再是了。
在新的 Ubuntu 和 Linux Mint ,以及自从Wheezy以上版本的Debian,所有的工具自动地对齐了文件系统并且分区成4096字节的页尺寸。所以不需要做任何事情来在一个SSD上手动4K对齐。
2.BIOS和UEFI:请设置为AHCI;
一个固态硬盘或者更准确地说固态驱动器,当BIOS/UEFI中的AHCI功能已
经激活为SATA(而不是IDE)的时候,才被BIOS/UEFI正确的识别。
这个功能在BIOS/UEFI中可能难被发现,因为在BIOS/UEFI的菜单结构中
根本没有绝对的标准(唉。。)。
这就是为什么我制作了两个关于我的计算机BIOS的截图,图中你可以看到这个详细的功能。希望你在你自己的BIOS/UEFI中能发现它。顺便说一下,我的计算机主板是一个MSI(微星)的H61MA-E35(B3)。
注意:你的计算机BIOS/UEFI不提供切换到AHCI的选项?那么可能BIOS/UEFI已经自动识别到SSD并且自动为它选择了正确的设置。
首先,在我计算机的BIOS中,我选择标签“Adavanced”,展开“Integrated Peripherals”这部分。
然后,在“SATAConfiguration”标题下,我把IDE改成AHCI Mode,即SATA模式。
然后,在“ExternalSATA 6GB/s Configuration”标题下,我也把IDE改成AHCI。即外部SATA6G/s控制器模式。如下图所示。
备注:H61芯片组最初没有SATA3(即6G/s传输速率模式)接口,通常是外部芯片带的SATA3控制器;另,为了兼容早期的IDE硬盘及设备,主板的BIOS/UEFI都有SATA模式的IDE和AHCI模式可选。
3.检测并更新固件;
检查SSD厂家的网站,是否有您SSD可用的更新的固件版本。如果有,更新它。
对于大多数SSD来说,无关于你是否运行于Linux中,因为多数厂家通过一个ISO文件提供固件更新,你可以制作一个可引导CD,就像Ubuntu和LinuxMint一样。
在购买SSD后的第一年里,大约每个月重复这个检查。
4.避免快速磨损:减少写操作;
SSD相对较快地被写入动作磨损。尤其是这比较老一代的SSD在这方面比较弱,而更新一代的SSD相对好一些。
下文你将获得一些提示来把磨损保持到一个合理的最小值,如通过限制写操作。合情合理地,因为现在的SSD都是默认地非常的耐磨损。
当你应用我的提示时,超过十年的寿命应该能成为你SSD的正常预期。这个远比传统的磁盘平均寿命长。
注意:这些用法仅适用于SSD,而不是一个普通的传统旋转磁盘。
备注:
1.SSD主控支持磨损平衡,Wear Leveling 磨损平衡分静态磨损平衡和动态磨损平衡;大部分SSD都支持动态磨损平衡。磨损平衡尽可能地将文件平均分配到每一个区块(Block),保证对每一个闪存块的编程/擦写次数一致,避免对某一部分区块的过度地重复进行擦除操作而报废,从而有效延长了固态硬盘的写入寿命,动态磨损平衡是指主控尽量选择那些“较新”的区块来使用,静态磨损平衡则是对那些“不经常更新”的文件占用的区块进行优化处理,将他们剔除转移至一个“较老”的区块中。WL跟GC(Gabage Collection垃圾回收)两大机制是SSD寿命的重要保障。
2.不同的SSD主控和固件有不同的写放大,写入放大指实际写入的数据量大于需要写入的数据量,任何SSD都有写放大问题,所以主控的数据压缩算法比如DuraWrite可以保障性能和寿命。
5.可选项:保留7%空间为预备空间;
预备空间是一种用于提升SSD的性能和寿命的方法。我不会在这里解释,但是它可以归结为未格式化的SSD一部分,仍未分配的空间(未使用的容量)。
一般地,保留高达28%的SSD容量作为上述未分配空间是明智的选择。当然这是总容量的一大片空间,使得所有人都不高兴。
然而,新一代的SSD的科技和固件已经改善了这个问题,不再需要如此巨大的存储容量损失。现代的SSD通常已经内建了OP空间,而且对于用户是不可用的。
在安全这方面来说,我仍然建议保留大约7%的容量作为OP空间。128G硬盘最多10GB,因为在任何情况下,更多的空间是不必需要的。原因:商业压力可能促使SSD厂商在不能使用的OP空间变得非常小气。(其实这句话我也还没理解,可能没翻译好)。
7%到最大10GB,不是存储容量的大损失。而且长远来看它对于磨损降低有益。更多的是,短期来看在你的分区比较满的时候,它变得很有用,因为你的SSD不会严重降速。
查看我的SSD的截图,7%的未分配空间高亮显示。
我把OP空间分类为可选,因为它不如我建议的其他措施重要而且因为它需要耗费你的存储空间。然而在我自己的SSD上,我仍然应用它。
备注:一般SSD都已经内建了OP空间,所以其实基本上默认使用SSD就行了,不需要再手动分配OP空间,当然如果你愿意折腾,可以手动配置OP空间,OP空间越多,SSD的寿命相对提升。
6.安装时请选择Ext4作为文件系统;
对于SSD来说最好的文件系统格式,就是通常默认的Ext4。所以你在这方面不需要选择任何不同的选项。
Ext4的日志记录会造成一些写操作,但不是很多。而且日志对于系统崩溃恢复是一项重要功能特性,所以你不需要禁用它。
注意:不需要选择BTRFS文件系统。因为在某种特定的情况下,BTRFS会造成大量的写操作。
7.安装后:调整noatime参数;
“noatime”在/etc/fstab目录,你可以禁用“access time stamp”(访问时间戳)的写操作,操作系统把访问时间戳写在一个文件上,每当文件被操作系统读的时候(也就是说访问时间戳是一个文件的元数据,频繁访问,系统就会频繁写入时间)。对于SSD来说,“noatime”更好。
你可以如下操作来调整:
a. 首先确保你已经安装了应用gksu 和 leafpad:
打开一个终端窗口;
输入(或者拷贝/粘贴):sudo apt-get install gksu leafpad
回车并提交你的密码。请注意密码是保持不可见,甚至没有星号显示,都是正常的。
b.然后在终端输入:
gksudoleafpad /etc/fstab; //回车
c. 现在添加“noatime”到你的root分区和其他Linux分区。但不是添加到Swap。
一个添加行可能看起来如下:
注意:这是一行,而不是俩。因为这一行的长度,它可能变成两行(依赖于你的屏幕尺寸)。
d. 保存这个更改过的文件并关闭它;
e. 现在处理下一项。
8.相关的调整:自动TRIM,rc.local 、cron或 discard 三种方式;
在SSD的长期运行中,为了优良的性能,清理动作TRIM是有必要的。否则有时候它将变得很慢。
所有新型SSD都支持TRIM,但是2010年以前的更早的通常不支持。所以如果是比较老的SSD请到厂商官网检查是否支持。
让操作系统执行自动TRIM是最简单的,有好几种方法。
备注:在Ubuntu14.04和LinuxMint17.3中,TRIM是自动开启的,当你在SSD上安装它们时。通常通过一个“cron job”(cron作业)。
但是这并不在所有SSD自动执行。而且,在大多数情况下,“cron”不是TRIM的最佳方法,所以我建议你继续阅读。
8.1 优先首选方法:通过 rc.local ;
你可以把TRIM命令添加到 /etc/rc.local ;然后这命令在系统启动的时候会自动执行。这几乎不会减慢系统的引导程序。
这是我最喜欢的方法,因为在大多数情况下可恢复的磁盘空间变得完全可用而不是快。
你可以如下照做:
a. 首先确保你已经安装了应用gksu 和 leafpad。
b. 然后在终端中输入:
gksudo leafpad /etc/rc.local ; 回车
c. 在上述文件的 exit 0 这一行上,你现在为每一个自动挂载的Ext4分区添加TRIM命令 fstrim 。
注意:这些只适用于那些被默认挂载的分区。而不是适用于Swap分区,在引导程序中,已经被系统默认自动处理过(trimmed)。
一个例子是最清晰的。当你的Ubuntu或者LinuxMint只有一个单个分区的时候,你只有root 分区 / ,你的 rc.local 应该看起来如下:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuserrunlevel.
# Make sure that the script will "exit 0" onsuccess or any other
# value on error.
#
# In order to enable or disable this script justchange the execution
# bits.
#
# By default this script does nothing.
fstrim /
exit 0
如果你有一个单独的 home 分区(尽管这并不是非常有用),你可以把如下这行添加到 exit 0 上面;
fstrim /home
注意:如果你有一个单独分区 /boot/efi ,不要为此添加TRIM命令到rc.local中。它是无用的,因为这个分区很少被写入。而且它可能造成故障。
d. 保存并关闭改变过的文件;
e. 重启你的计算机。
8.2 当你的计算机总是在开机状态时:每日执行cron;
如果计算机总是在开机状态(24X7),在系统启动的时候执行一次TRIM动作,当然不是有用的。
在这种情况下,你最好用定时器关机,比如使用cron。每天TRIM比每星期更好,因为你不需要在可恢复空间重复变成完全可用之前漫长等待。
你可以如下配置一个日常TIRM作业:
a. 首先确保你已经安装了应用gksu 和 leafpad。
b. 在终端输入:
gksudo leafpad /etc/rc.local ; 回车
c. 拷贝/粘贴下述蓝色文字到一个空文本文件:
#!/bin/sh
# call fstrim-allto trim all mounted file systems which support it
set -e
#
# This only runson Intel and Samsung SSDs by default, as some SSDs with
# faulty firmwaremay encounter data loss when running fstrim under high I/O
# load (e. g. https://launchpad.net/bugs/1259829). You canappend the
# --no-model-checkoption here to disable the vendor check and run fstrim on
# all SSD drivesLike this (remove the hash):
#exec fstrim-all--no-model-check
exec fstrim-all
保存这个文本文件。
d. 现在拷贝/粘贴如下命令到终端,为了使这个文件执行:
sudo chmod +x /etc/cron.daily/trim
回车。弹窗时输入你的密码;密码完全不可见,甚至不会显示点号,这完全是正常的。
再次回车。
e. 重启你的计算机
Ubuntu或者LinuxMint将会在06:25自动执行日常cron作业,或者当计算机不在那个时间时,自动在同一天的稍后时间执行。
8.2.1禁用TRIM的多余地每星期的Cron作业。
在Ubuntu14.04和LinuxMint17.3中,禁用TRIM的多余地每星期的Cron作业:
拷贝/粘贴如下命令到终端:
sudo mv -v/etc/cron.weekly/fstrim /fstrim
回车。
用这个命令你已经把 fstrim 脚本文件转移到了 root 目录,所以禁用它。
现在请到列表中的第九项。
8.3 不建议:通过discard方法;
另一个被广泛采用的自动TRIM方法就是把discard 添加到 /etc/fstab ,配置到你的 root 分区和可能的其他Linux分区。
注意:这些只适用于那些被默认挂载的分区。而不是适用于Swap分区,在引导程序中,已经被系统默认自动处理过(trimmed)。
这个方法的缺点是,它可能造成系统变慢。因为它强制系统在每次文件删除后应用TRIM。这是为什么这个方法不是我的菜。
注意:正如已经提到的,2010年前的老SSD通常不支持TRIM。在这种情况下,在fstab 中应用discard是当然没有用的。
如果你还是想这么做,方法如下:
a. 首先确保你已经安装了应用gksu 和 leafpad。
b. 在终端输入:
gksudo leafpad /etc/rc.local ; 回车
c. 现在把“discard”添加到你的root分区和其他已经提到的Linux分区的配置文件。而不是sawp分区配置那行。
一个调整过的行看起来如下:
注意:如果你有一个单独分区 /boot/efi ,不要为此添加TRIM命令到fstab中。它是无用的,因为这个分区很少被写入。而且它可能造成故障。
d. 保存改变过的文本文件并关闭它。
e. 重启你的计算机。
f. 到第九项。
9.如何手动执行TRIM;
你也可以手动执行TRIM,通常如下:
打开一个终端窗口:
输入:
sudo fstrim -v /
回车。弹窗时输入你的密码;密码完全不可见,甚至不会显示点号,这完全是正常的。
再次回车。
这个操作可能持续几分钟,然后看起来终端是frozen。但其实不是那样的,所以耐心地等待吧。
注意:在一小部分SSD型号上(尤其是美光英睿达的两个),执行这个命令的是会出现高磁盘活动(大量I/O活动),可能造成麻烦。所以请在不是很多磁盘活动的时候执行。最好是关闭其他应用程序。
上述终端命令已经足够用于当你只有一个Ubuntu或者LinuxMint分区的时候,而且和一个Swap分区(因为Swap分区不需要而且系统已经自动执行)。
当你拥有更多挂载的Ext4分区时,你必须相应的调整命令。例如,如果你有一个单独的 home 分区,然后命令是:
fstrim -v /home
10.限制Swap磨损;
如下所述动作,你可以限制SWAP分区的使用(SSD上的虚拟内存)。不用完全禁止,因为会产生错误:如果RAM处于极端负载,Ubuntu必须有SWAP可用。
Ubuntu的SWAP使用倾向,取决于一个设置。设置的值越小,系统开始使用SWAP之前需要更多系统负载。
在一个0-100的范围内,默认设置是60。对于大多数常见的桌面系统使用来说,这个值太高了,而且它只适用于服务器。对于SSD来说,这简直疯狂。
一篇详细的解释请参考
http://rudd-o.com/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that
或者 PDF
https://sites.google.com/site/easylinuxtipsproject/file-closet/swappiness.pdf?attredirects=0&d=1
措施如下:
a. 首先确保你已经安装了应用gksu 和 leafpad;
b. 检查你的SWAP设置。终端输入:
cat /proc/sys/vm/swappiness
回车。这个结果可能是60。
c. 终端输入:
gksudo leafpad /etc/sysctl.conf 回车。
d. 添加下述蓝色一行代码,到文件的末尾。
# Sharply reduce swap inclination
vm.swappiness=1
e. 保存文件并关闭它。
11.几乎准备好后重启;
你的SSD几乎已经准备好,但是并不完全是。所以重启后进入下一项。
12.限制firefox的写操作;
你可以按照如下限制Firefox的写操作:
a. 把缓存设置为0:
火狐菜单按钮-选项-高级-网络
网络内容缓存:自动覆盖缓存管理和设置缓存为0MB.
b. 如果你已经安装了Java,限制Java插件的写操作:
打开Java控制面板-菜单:
临时网络文件-设置
取消勾选:保持临时文件在我的计算机上。
13.限制chrome或者chromium的写操作;
Google Chrome或者Chromium的写操作限制如下:
a. 打开Chrome/Chromium;
b. 按F12,为了打开开发者模式;然后按F1,为了打开设置页面;
c. 在设置窗口,勾选禁用缓存(DevTools打开状态);
d. 很不幸的是这个只在开发者控制台打开是有用。一个变通的方案可能是,总是打开一个标签保持开发者控制打开。这个同样在正常的标签有效。
e. 另外一个可能的方法就是在终端中如下命令打开Chrome:
google-chrome --disk-cache-size=1--media-cache-size=1
对于chromium是如下:
chromium-browser--disk-cache-size=1 --media-cache-size=1
注意:设置值为0是无效的。但是1Byte应该是符合要求的。
备注:其实这两条都是把使用频率较高的浏览器的缓存方案设置为无缓存,减少写操作来降低寿命损耗,其他浏览器比如Opera vivaldi Safari都同理。
14.检查调度器是否设置为deadline:Ubuntu12.04和Linux Mint13;
默认地,Ubuntu和LinuxMint使用Deadline为I/O调度器,既有益于SSD又有利于传统硬盘。所以关于调度器,你不需要改变任何事情。
但是因为它对于SSD的性能如此重要,所以应该检查该设置是否确实如此。
你可以如下检查你的调度器配置:终端输入:
cat /sys/block/sda/queue/scheduler (如果你的磁盘不是sda 请相应地修改)
回车
输出应该如下:
noop [deadline] cfq
意味着:Deadline 是激活的,但是NOOP和CFQ也是支持的。如果输出结果不同,请按照如下修改:
a. 首先确保你已经安装了应用gksu 和 leafpad;
b. 然后输入
gksudo leafpad /etc/default/grub
回车
找到这一行
GRUB_CMDLINE_LINUX_DEFAULT="quietsplash"
修改为:
GRUB_CMDLINE_LINUX_DEFAULT="elevator=deadlinequiet splash"
c. 保存修改的文件并关闭它。
d. 现在更新GRUB。终端输入:
sudo update-grub
回车。弹窗时输入你的密码;密码完全不可见,甚至不会显示点号,这完全是正常的。
再次回车。
e. 重启计算机。
注意:如果你的计算机只有一个SSD没有传统硬盘,有些建议选择NOOP为调度器而不是使用DEADLINE来获得一丝丝性能,并不正确,因为Deadline总是最佳选择。
备注:NOOP Deadline CFQ三大I/O调度器。
15.请不要开启hibernation;
Hibernation会造成大量的写操作,对于SSD是非常有害的。确保它已经被禁用。(可见于第八项)
这一点尤其与LinuMint有关,因为LinuxMint不幸地默认开启Hibernation。
16.避免碎片化而且不要整理碎片;
对于一块SSD,文件系统的碎片化相对于传统硬盘来说是个小问题。但无论如何仍然是个问题,所以避免碎片化同样有用。通过保留分区的最小20%空余空间就可以做到(见第四项)。
预防更为重要,但整理是不能解决所有问题的:因为大量的写操作,你的SSD会快速磨损。
之所以SSD的碎片总是个问题,是因为:
不管碎片的情况下,一块SSD的机械寻道时间总是0(备注:其实SSD根本就没有传统硬盘的磁道,为了理解方便还是使用寻道时间,其实应该是寻址时间,这里涉及到SSD的架构,简单点说就是,所有SSD的闪存物理存储地址都有一个逻辑地址,由主控来解决LBA逻辑区块地址与PBA物理区块地址之间的转换)。这与传统硬盘有很大差异,传统硬盘的寻道时间随着碎片化的增多而增加。这非常非常重要。对于任何单一的磁盘输入/输出请求,但是机械寻道时间只占到一部分的总访问时间或者IO时间开销。I/O时间是操作系统完成一次请求周期的消耗。包括所有从应用、操作系统、磁盘驱动器到磁盘、内存单元然后回环的路径。
零寻道时间并不是意味着零I/O时间。不论一块SSD有多块,它的I/O时间永远不会是鸭蛋。甚至当机械寻道时间是零的时候,在一块SSD中,文件系统碎片增加I/O时间。
换句话说:碎片化造成性能退化并不是由存储设备单独造成(不管是否有机械可移动部分),但是它也是一个将系统考虑为一体的问题。
当有更多文件分解和更多文件片段胶合的时候,系统的任务变得更重。任务越重,处理时间越长。
一篇优良详尽的阐述如下:
http://rtcmagazine.com/articles/view/101053
或者PDF
https://sites.google.com/site/easylinuxtipsproject/file-closet/SSD-fragmentation-explained.pdf?attredirects=0
17.如果使用双重引导启动,请不要让Windows杀死你的SSD;
你是否使用含有windows的多重引导?那么请不要让Windows因为磁盘碎片整理损坏SSD。
磁盘碎片整理程序将在短时间内损坏你的SSD,因为它造成大量写操作。
Linux中你就没有这个烦恼,因为Linux文件系统首先几乎不产生碎片而且根本不需要碎片整理。
备注:SSD碎片主要跟windows内核和文件系统有关,win7的磁盘碎片整理针对HDD有效,对于SSD需要TRIM就可以。win8&winx里的磁盘碎片整理针对SSD做了优化,SSD时只需要点击优化就可以执行TRIM。
18.无忧享受你的SSD多年;
正如开头所说如何:考虑到厂商提供的长时间保修期,你的SSD寿命可能会超过五年(十年应该是一个合理的期望)。
无论如何远远超过传统普通硬盘。
19.可选(高级用户):临时文件和日志文件;
这是一个高级系统HACK,而且没有其他措施重要。所以如果你对此毫无感觉,则完全可以跳过它。
你可以通过移动临时文件和日志文件到一个内存中的临时虚拟文件,减少SSD的大量写操作。当你的重启的时候,这个虚拟文件就会被销毁。
对于临时文件来说,没有明显的缺点,除了你的内存必须足够大(最好至少4GB)。
而对于系统日志文件来说也不是长期不变的。就是有一个小的风险是应用程序会神奇出错,因为它不能访问以前创建的日志文件。事实上这个风险非常小。在我三年的SSD使用过程中,它也从未发生。
a. 首先确保你已经安装了应用gksu 和 leafpad;
b. 然后终端输入:
gksudo leafpad /etc/fstab
回车
c. 添加下面行到文件的末尾:
# Modification for SSD
tmpfs /var/log tmpfs defaults,noatime 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
d. 保存文件并关闭它。
e. 为了在每次重启的时候恢复文件结构 /var/log,你需要添加几行配置到 /etc/rc.local ,在“exit 0”之上即可。
输入
gksudo leafpad /etc/rc.local
f. 添加如下配置到文件的“exit 0”之上:
#
# Modification for SSD
#for dir in apparmor apt cups dist-upgradefsck gdm installer samba #unattended-upgrades ;
do
if [ ! -e/var/log/$dir ] ; then
mkdir/var/log/$dir
fi
done
g. 保存文件并关闭它。
注意:你的系统不仅仅有目录/tmp ,也有目录/var/tmp。但不要把后者放到内存中,因为/var/tmp 意味着临时文件在重启后必须可用。我强调这一点是因为很多错误的SSD手动优化提议,包括把/var/tmp放到内存中。
h. 重启计算机
20.更多提示?
Security in Ubuntuand Linux Mint
https://sites.google.com/site/easylinuxtipsproject/security
Four popular mythsand 11 tips about wireless security (for wifi)
https://sites.google.com/site/easylinuxtipsproject/securitywireless
Firefox: tweak itright
https://sites.google.com/site/easylinuxtipsproject/firefox
Chrome andChromium: make them even better
https://sites.google.com/site/easylinuxtipsproject/chrome
Libre Office:configure it well
https://sites.google.com/site/easylinuxtipsproject/libreoffice
Make Linux Mintrun faster
https://sites.google.com/site/easylinuxtipsproject/3
Clean your LinuxMint
https://sites.google.com/site/easylinuxtipsproject/4
ArchLinux
https://wiki.archlinux.org/index.php/Solid_State_Drives
备注:
在选购SSD时考虑磨损平衡算法的支持;
在安装操作系统的时候选择合理的文件系统格式;
考虑系统的I/O调度器选择;
针对不同的系统和不同的内核版本进行优化;
linux内核版本在2.6.34以上能支持4K对齐;
linux内核版本在2.6.32以上能支持Discard以实时TRIM,谨慎使用。
参考链接:
http://linux-wiki.cn/wiki/SSD_%28%E5%9B%BA%E6%80%81%E7%A1%AC%E7%9B%98%29https://wiki.archlinux.org/index.php/Solid_State_Drives