Alright. Well, I'll put in a little bit of what I've got right now for review and then people can check it and add things as needed.
To improve performance:Limiting Writes on the drive by moving non-essential directories to RAM
Edit /etc/fstab with your CLI text editor, IE nano or similar (requires sudo invocation IIRC)
Go to the end and add this
# Move /tmp to RAM
tmpfs /tmp tmpfs defaults,noatime,nosuid 0 0
# Move cache to RAM
tmpfs /home/USERNAME/.cache tmpfs defaults,noatime,nosuid 0 0
Make sure you understand that /home/USERNAME means the home directory of YOUR user thus if you created a user named Bob it would be /home/Bob/.cacheThis only works for directories that are temporary in nature so it will not work for libs, bin, or share and would make an unbootable system if you tried to move them to tmpfs.This section deals with a setup that has no swap and is recommended mainly for systems with 4GB+ of RAM
Next; edit /etc/sysctl.conf as sudo and add vm.swappiness=0 and vm.vfs_cache_pressure=90 to the end of it. The higher value for pressure the more it will favor program data in caches and the lower the more it will favor files; thus 50 will split preference between the two. The default should be about 60.If you want swap without it being on the SSD (also useful for HDDs if you have the RAM) then there is Zram which trades some CPU usage for creating a swap in RAM setup. DO NOT USE if you have another location for swap setup, IE you let the Ubuntu/Mint installer set up your drives.
Next; install zram-config (this is the Ubuntu name; I don't know the name for other distros) as it should help on reboot using your ram for a compressed swap device as some things are just picky about swap. Remember to adjust the vm.swappiness amount from the previous section to something higher than 0 if you install/enable zram. Generally, vm.swappiness=20 should be the max but it depends on your choice.For SSDs only:
First, most distros should automatically setup to use either the deadline or noop scheduler when installing on an SSD. So you should check first.
Whatever is in brackets will be the one in use so example
noop [deadline] cfq
If it isn't deadline or noop then you should do the following:
To change data access scheduler for drives install “sysfsutils”. (Need name of package for non-buntu distros)
Next, assuming the SSD is on “sda”
If you have several disks or a mix of SSD and mechanical disks, install the sysfsutils package and add the following line at the end of /etc/sysfs.conf:
block/sda/queue/scheduler = noop
*or for deadline [ block/sda/queue/sheduler=deadline ]*
To check what scheduler is in use:
whatever is in brackets will be the one in use so example noop [deadline] cfqDon’t forget to add noatime to /etc/fstab for each SSD you have a Linux install/filesystem onThe TRIM issue: About discard vs fstrim
Currently it is recommended to avoid using the discard option through /etc/fstab and instead use the fstrim command from terminal/CLI
Here is an example of fstrim:
This however is only if you have one partition on the ssd and everything is inside /
The command will take a while and it will not report anything until it has completed so be patient. (Time ranges depend on the size of the partition being trimmed).
Tell me what you guys think. I might add more but right now I need to update my comps from Kubuntu 13.04 to 13.10