SSD安装UbuntuKylin 13.04(2)

第四步:运行时的I/O调度

Linux有4种I/O调度策略,其中有些适合于普通机械硬盘,有些适合虚拟机或者数据库,具体可参考Linux IO Scheduler。

对于SSD来说noop和deadline调度器都是不错的选择。前者优势是简单,后者主要用于数据库等有高性能磁盘的场景,对于读更有优化。

设置的方法是建立规则文件:

# sudo gedit /etc/udev/rules.d/60-schedulers.rules

内容如下:

# Handle the scheduler choice according to the type of disk detected

# system default : set cfq scheduler for rotating disks

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

# SSD specific : set deadline scheduler for non-rotating disks

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

通过如下命令性能实测:

# sudo hdparm -Tt /dev/sda

NOOP模式:

/dev/sda:

Timing cached reads:  12434 MB in  2.00 seconds = 6220.51 MB/sec

Timing buffered disk reads: 1472 MB in  3.00 seconds = 490.11 MB/sec

deadline模式:

/dev/sda:

Timing cached reads:  11510 MB in  2.00 seconds = 5757.64 MB/sec

Timing buffered disk reads: 1544 MB in  3.00 seconds = 514.00 MB/sec

第五步:内存分区加速

如果内存够大,可以用ramdisk的方式,将一些经常变化的位置如/tmp放入内存,加快速度,减少对SSD的访问。

在/etc/fstab中加入:

# SSD tweak : temporary directories as tmpfs

tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0

# SSD tweak : log directory as tmpfs

tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0

如需要控制tmp目录大小,在mod选项前插入“size=nn[G | M]”的选项。

特别提示:会有很多应用程序将日志保存在/var/log路径下并造成SSD的大量访问,如果不在意这些日志丢失,可以将其放在内存中。

限制:

•需要至少4G的内存空间。

•需要监控应用程序对/tmp空间的使用(例如:burners等)。

•如果是多用户系统,其它用户会看到/tmp路径中的内容。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/19891.html