Solid State Drive tweaks

From WickyWiki
Revision as of 08:32, 21 October 2011 by Wilbert (talk | contribs) (→‎Prepare)

20110923 SSD, Ubuntu 11.04 Natty Narwhal 64 bit

Prepare

  1. check for ssd firmware updates
  1. Enable SATA AHCI mode in the BIOS (if available)

Note: in a dual boot configuration with Windows 7, Windows will not boot after changing AHCI. You will need to make some changes in Windows before proceeding.

Format SSD

Format drive as ext4, journaling disabled.

MAKE SURE WE ARE TALKING ABOUT THE RIGHT DRIVE HERE

Physical drive: "sdb", partition "sdb1"

	
sudo fdisk -l /dev/sdb | grep sectors
255 heads, 63 sectors/track, 7297 cylinders
	
sudo fdisk -H 255 -S 63 /dev/sdb
 "d" delete partition
 "n" new partition, primary, 1
 "w" to write partition table and exit
sudo mke2fs -t ext4 -O ^has_journal /dev/sdb1

TRIM and access time

The TRIM function prepares (wipes) free space for faster writing. Enable the TRIM command support using the "discard" mounting option.


The "relatime" option writes the time-of-access to disk and causes unnecessary additional writes to disk. Mount volumes using the "noatime" option in stead of the "relatime" option

	
sudo cp /etc/fstab ~/fstab-backup
sudo gedit /etc/fstab
 UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /               ext4    noatime,discard,data=writeback,errors=remount-ro 0       1

reboot

To test if TRIM is working:

Swap

  • lower the likelyness of swap
	
sudo gedit /etc/sysctl.conf

 # add/edit these lines

 # minimum swappiness
 vm.swappiness=0

 # weak inode cache schrinking
 vm.vfs_cache_pressure=50

I/O scheduler

  • change I/O scheduler strategy to "noop" (or "deadline")

Note: there are alternatives to add this option to grub or to install a "sysutils" package

cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
	
sudo gedit /etc/rc.local

# add thise lines before exit 0 for drive "sda" echo noop > /sys/block/sda/queue/scheduler # reboot

Temporary files

Use RAM disk for temporary files to reduce the number of writes to the SSD.

sudo gedit /etc/fstab

Add after the last line (exact text)

tmpfs   /tmp  tmpfs  nodev,nosuid,noexec,mode=1777  0 0

After reboot, using df you should see a line like

df
 tmpfs xxxxxx yyyyy zzzzzz n% /tmp

Move firefox cache to the earlier created /tmp

  1. in firefox go to "about:config"
  2. filter for "browser.cache.disk.parent_directory" Set the value to "/tmp"

Other

Did this from other Ubuntu and then it booted

sudo tune2fs -o journal_data_writeback /dev/sdb1
  • moved aMule and Vuze folders to Data drive, NB: aMule will reset the folder when it is not found