Take the 2-minute tour ×

What are the best practices for using an SSD on a Linux workstation?

Specifically, I'm interested in:

  1. What mounts I should put on the SSD and what I should keep on my HDD
  2. What filesystem I should use for what I do put on the SSD
  3. Whether it's okay to use LVM between the filesystems and the SSD
  4. What do I need to do to get things like TRIM to work (and whether it matters)

Right now, my mounts are 20G for /, 200M for /boot, 15G for /home, 5G for /srv, 5G for /tmp, and 10G for /var. Everything uses ext3 on standard LVM, and there's a ton of free space both on the filesystems and on the disks (500G HDD and 64G SSD.) I have "enough" RAM, so I shouldn't need to swap; OTOH, I could always increase swappiness to swap more and use more RAM for the page cache.

Pretty much everything about the setup is mutable; I don't need to do whatever I do live. (It would be nice to be able to grow things live later, though.)

Also, if there's anything I'm forgetting to consider, please tell me. :)

share|improve this question
Related questions: serverfault.com/questions/187608/… and serverfault.com/questions/133296/… –  jon Jan 19 '12 at 21:28
add comment

1 Answer

up vote 4 down vote accepted

If you have a 2nd or 3rd generation SSD (that means any drive with TRIM) then you don't have to treat it any different than a regular HDD: you can put write intensive files, journal and swap on it. One thing to remember: align all your partitions to 4MiB boundaries. New versions of parted should do that automatically.

For filesystems: ext3 and ext4, especially the later, do work fine on SSDs and do support TRIM (others received support sometime later) but only in recent kernels: 2.6.32 (AFAICR). TRIM through LVM is supported, but was added even later. Basically everything above 3.0 is fine.

All in all: yes, all those use-cases are supported and should work fine, but it depends on kernel version and the specific patches your distribution provider added to the kernel above the standard version.

And sorry for the lack of specifics, but those features were added in at least 4 or 5 non consecutive versions.

share|improve this answer
The only things I would add are (1) Don't put scratch space on your SSD (use tmpfs or some other RAM-based filesystem), and (2) Try not to swap to SSD. These are not absolute contraindications, but doing so will prolong the life of the SSD (fewer write cycles). As a practical matter the difference may not be noticeable in the lifetime of your workstation. –  voretaq7 Jan 19 '12 at 22:09
@voretaq7: "the difference may not be noticeable": And that's why I didn't incorporate them in the answer: if it's your workstation then the SSD won't see many writes anyway, so any new SSD will do fine. In a server it will need to be replaced in 3 up to 5 years anyway. –  Hubert Kario Jan 19 '12 at 22:17
The difference can be substantial if your workstation is a dinky thing without much RAM and you're trying to run gimp, Firefox, a full Gnome environment, etc... - That's why I mention them :-) –  voretaq7 Jan 19 '12 at 22:26
Thanks. Any advice on which parts of the system I should put on SSD? –  jon Jan 20 '12 at 19:09
@jon: It completely depends on your particular workload, whatever you want fast access to data (then /home) or just applications to start faster (then /, /lib and /usr). That being said, with 64GB I would put everything on SSD and move just the parts that require very large amounts of space to magnetic storage. As even 32GB is plenty for whole system and quite sizeable /home, most distros work without problems on 16GB with both KDE, Gnome and LaTeX installed. Most laptop HDDs had 40GB 3-4 years ago! –  Hubert Kario Jan 20 '12 at 19:38
show 1 more comment

Your Answer


