Fast tuning course for your SSD on Ubuntu:
filesystem
Arch wiki mentions few preferable options for SSD file system - one of them is unstable, others are ext* ones. I assume ext4 is one of the best picks.
Note: In case of ext4 you may want to use discard mount option.
fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
tmpfs /tmp tmpfs nodev,nosuid,noatime,mode=1777 0 0
/dev/sda1 / ext4 defaults,noatime,discard,errors=remount-ro 0 1
/dev/sda2 /home ext4 defaults,noatime,discard,user_xattr 0 2
/dev/sda3 /windows ntfs defaults,noatime,discard,umask=007,gid=46 0 0
Few important things here are:
- For systems with >=2 gigs of memory, locating /tmp in the RAM is desirable.
- No
swap partition. Nowadays it's needed only for hibernation, since modern machines has pretty big amount of RAM.
noatime and discard options. Info is here.
scheduler
Consider switching from the default scheduler, which under most Linux distro's is cfq (completely fair queuing), to the noop or deadline scheduler for an SSD. Using the noop scheduler, for example, simply processes requests in the order they are received, without giving any consideration to where the data physically resides on the disk. This option is thought to be advantageous for SSDs since seek times are identical for all sectors on the SSD.
Add following to /etc/rc.local:
# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler
info
one two