SSD装ubuntu及优化

憋了好久终于趁着双十一去京东买了块东芝的固态硬盘(240G), 然后把旧的那块硬盘给丢到一边,尽情享受SSD带来的极速体验

装系统

我的计划是单系统, 放弃一直以来的双系统。
SSD一个很重要的概念就是4K对齐, 这个对linux来说根本不是问题, 在用U盘装系统时,选择自己分区, 自动会4K对齐。 至于ahck这个一般也是默认开启的, 自己开机的时候去bios看一下。
这里要注意, 装系统时要选择自己分区, 不然ubuntu会自动的只给你分了一个swap的交换空间, 然后全部的空间都分配给/, 这样使用linux很不应该, 因为这样重装系统是很麻烦

硬盘优化

下面是我的/etc/fstab的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
UUID=ca27d8c3-a572-4c81-9d7a-ffcbcd3afa12 / ext4 noatime,discard,errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=ecccb054-de0c-4a90-b2ef-1b11d72cd1b0 /boot ext4 noatime,discard,defaults 0 2
# /home was on /dev/sda5 during installation
UUID=eccb1720-0af7-43bc-8e63-47d96dec201a /home ext4 noatime,discard,defaults 0 2
# /storage was on /dev/sda
UUID=77a63891-de5c-4846-9b12-d704177179de /media/cy/storage ext4 noatime,discard,defaults 0 2
# swap was on /dev/sda6 during installation
UUID=15c56286-4568-4b67-b248-cf243604a8bb none swap sw 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0

主要有两点

  • noatime,discard参数, 分别代表使用noatime和开启trim, 可以减少对sshd的写操作, 提高硬盘的寿命
  • 把常写的文件的/tmp 分区等挂载到内存上, 减少对硬盘的读写, 而且这样做速度比固态硬盘还快, 要注意/var/log这个是很多软件的日志记录, 一旦关机里面的日志旧都没了, 所以千万确定你是否不要相关日志信息再决定是否把它放到内存中 。另外要确保你的内存比较大, 像我有8Gb内存, 完全能够接受这个

此外还有交换空间, 交换空间相当于第二块内存,也会频繁读取,极易损坏, 最好就是把他挂载到普通的机械硬盘上, 然而既然挂载到了SSD上了, 还是应该想法子减少读写,从而提高寿命。

/etc/sysctl.cnf末尾加入vm.swappiness=1, 代表着尽量不使用交换空间, 除非是内存已经用完了。

测试

写入测试

利用强大的dd命令:

dd if=/dev/zero of=./largefile bs=1M count=1024

代表着写入 ./largefile 块为1M, 共有1024块

的大小实际上是相当大的。你可以尝试用更小的尺寸如 64K 甚至是 4K 的。

读取速度

现在读回这个文件。但是,得首先清除内存的缓存,以确保这个文件确实是从驱动盘读取的。

运行下面的命令来清除内存缓存

$ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

现在读取此文件

$ dd if=./largefile of=/dev/null bs=4k

@author chenyun