Apologies if this is in the wrong section. This is a quick guide to explain some of the differences in behavior between standard mechanical hard drives and solid state drives and how to manipulate operating systems designed for mechanical hard drives into working better with SSD's. Most of the changes here will be for Windows, but some will also work with Linux and some specific programs. Credits to Tombuntu
for these items. I'm just organizing them better and inserting my own opinions.DISCLAIMER: I take no responsibility for your actions. If you mess something up doing any of these tweaks, it is your fault entirely. Back up any files you intend to modify before proceeding.Linux
There are a few tweaks you can apply to a Linux install to decrease the number of unnecessary writes and increase the lifespan of the drive.1.
You can tell the operating system not to write file access times to the filesystem. Open the file /etc/fstab
as root, and in the fourth column on the line representing the partition on the SSD, either add noatime
to the list of options, separating it from the others with a comma, or replace relatime
. Save the file, and then reboot.2.
Use a RAMdisk to store temporary files instead of continuously writing them to disk. This will not only increase the lifespan of the drive, but will also make accessing and writing to temporary files much quicker. To do this, open the file /etc/fstab
as root and add these two lines:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
Reboot your system and run the mount command. You should see a line indicating the new filesystem. If you are low on RAM, however, I don't recommend you enable this option, because this will use free memory to store files.3.
If your motherboard or laptop supports it, enable write back caching in the BIOS. After you've enabled it in the BIOS, run the following command as root to enable write-back caching in Linux:
hdparm -W1 /dev/sda
with the identifier for your SSD. If you have conventional hard drives you can disable write-back caching and use the default (write-through) by running this command as root:
hdparm -W1 /dev/sdb
As above, replace sdb
with the identifier for your conventional drives. Both of these commands will only work until the next reboot. If you want the changes to last after a reboot, add the commands you just typed in to the file /etc/rc.local
. You'll need root privileges to edit it.4.
The default disk I/O scheduler in Linux is designed for conventional platter-based disks, and really doesn't work well with SSD's. To use a different scheduler for the drive, you can add the following command to your /etc/rc.local
echo noop > /sys/block/sdb/queue/scheduler
with the identifier for your SSD.Windows
The tweaks listed here will only apply to the specific SSD.1.
Windows XP was designed before SSD's were created, and should not be used with them. If you have Windows XP on an SSD, I suggest you upgrade to Windows Vista or Windows 7 immediately. Most of the tweaks ahead are only available to users of Vista and 7.2.
The most important thing to do is to disable defragging on the drive, because it's absolutely unnecessary and will decrease the lifespan of the drive. To disable defragging under Vista:
- Click on the start button, and then click Control Panel.
- Click on System and Maintenance.
- Under Administrative Tools, click on Defragment your hard drive.
- If Run automatically (recommended) is checked, uncheck it.
- Click OK.
Disable drive indexing, because SSD seek times are so fast, there's no need to have an index of files. In "Computer" right click on the SSD and click on Properties. Once in there, uncheck "Index this drive for faster searching"4.
Turn off Superfetch because the read times are so low it becomes unnecessary. To turn it off:
- Click on the start button, type services.msc in the search box, and press enter.
- In Services, scroll down to Superfetch, right click on it, and select Properties.
- In startup type, change the option to Disabled, and then click OK.
- Reboot if Superfetch is currently running (started).
Since the drive always uses the same amount of power and never needs to spin down, Hibernation is absolutely useless. In addition, turning it off will save some space on the drive because Windows will no longer have to write a hibernate file to the disk. To turn it off:
- Click on the start button, and type cmd in the search box.
- Right-click on cmd.exe after it shows up and click Run as Administrator.
- In command prompt, type the following and press enter:
powercfg.exe -h off
There are a few tweaks we can do to the registry to increase performance and lifespan of the drive. In the registry, navigate to HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Con trol\\Session Manager\\Memory Management\\PrefetchParameters
. In that folder, set the values of EnablePrefetcher
to 0. Reboot afterwards to apply the changes.Firefox
Since SSD's have limited write-cycles, Firefox's behavior of writing cache files to disk is not good. We can force Firefox to write the data to RAM instead by doing the following:
- Type about:config into the address bar and press enter.
- Set the value of browser.cache.disk.enable to false.
- Create a new integer value named disk.cache.memory.capacity and set its value to 32768 (for 32MB), 65536 (for 64MB), or 131072 (for 128MB).
- Restart Firefox.
This will apply to Firefox on any operating system. You will notice increased RAM usage from the program, so if you're low on RAM, I recommend waiting on this one.Hardware
The biggest tweak you can do to increase the performance of an SSD is get more RAM. I recommend having 4GB at least. This increases room for RAM disks and temporary files, which means less writing to the disk. Plus, it will increase performance in general. Secondly, if you plan on using SSD's in RAID, get a hardware RAID controller. Many onboard chipsets don't play well with SSD's, and a hardware controller will do the job much better.
One other thing you can do to increase performance is to disable every CPU power-saving feature except for EIST in the BIOS. Newer SSD's can be bottlenecked by the slower speed of the CPU when it's idle. Disabling all of those features will remove the bottleneck, although disabling EIST doesn't seem to help enough to be worth increased power consumption.Credit to TomsHardware via DuckieHo for this one.
Obviously this is only the beginning. I hope to have a lot more items here soon. If you've ideas, post them here and I'll respond soon.