What to put on a MacOS X SSD?

This question clearly doesn't have one answer, so here are few assumptions:

  • I want to add an SSD to my Mac, let's say a MacBook [Pro], with the primary goal of speeding up my workflow.
  • The hard disk will stay in the machine, and be mounted as a separate volume.
  • the SSD will be too small to hold everything that I need, so I will have to put some stuff away on the secondary hard drive

So the question is: What will be on the SSD, what be be relegated on the hard drive, given this order of priority:

  1. Maximize typical system speed for common operations (boot, launching applications, opening/saving documents).

  2. Maximize space efficiency: use as much of the available SSD storage space for useful stuff (ie speed improvement) without risking running out of space when really needed.

  3. Minimize time spent setting up and tweaking the system

  4. Minimize SSD wear when it makes sense


I classify stuff in three categories:

  • A: Stuff that "obviously" need to be on the SSD
  • B: Stuff that "obviously" will be on the hard drive, because there is no speed benefit to put it on the SSD, and there is no to little cost to put it on the hard drive.
  • C: Grey area stuff: unclear to me, perhaps due to my ignorance/misconceptions.

This question is about the grey area stuff. But before, let's quickly list the other two categories:

A: Stuff that "obviously" need to be on the SSD:

  • Mac OS X itself. The OS will benefit a lot from the speed of the SSD. Moreover, most of it is seldom written. So little wear.
  • Commonly used applications. For me: mail, development tools, Keynote, a few others
  • Home directory: a lot of stuff there will benefit a lot from being on the SSD. Some will fall in the grey area as listed below.

B: Stuff that "obviously" will be on the hard drive:

  • iTunes music. More generally, all media files: they are big, and don't need more read speed than real time. This would be different if I edited those media files
  • photo database, such as iPhoto databases, unless I do heavy photo editing (which I don't).
  • Applications that I don't use very often.
  • old documents or projects that are only accessed once in a while
  • deep sleep file: while it would help the Mac wake up from deep sleep much faster, I seldom need deep sleep and deep sleep files are rather big

C: grey area:

  • OS X swap space: if I really need it a lot, it means I need more RAM. Moreover, thrashing might be less noticeable on a fast, silent SSD than a HD. So I would realize something is wrong later. Finally, should thrashing happen, it would accelerate SSD wear a lot. So put it on the hard disk? But app switching, the best use of swap space, would be much faster on an SSD.
  • home directory library folder cache files?
  • mail database?
  • Spotlight indexing?
  • noatime?
  • journalling?
  • other?

Thanks for any thoughts, especially about swap space.


Solution 1:

You will see the biggest performance gain from having the OS on the SSD. From there, any large applications you have will be directly affected by the increased throughput. I've found (although I am not a HUGE AV nut) that having media files (Mp3, Flac, video, etc) on the SSD provides little advantage. Your demands might be different.

As for swap, can it be disabled? I currently have 2 linux laptops running no swap, and I have run no swap in windows since I got my first SSD in ~08 and ran Windows XP. The only program I have ever had issues with the lack of swap space was Photoshop 7 (lol).

In short, whenever I set up a new machine with an SSD I put my OS and the big programs on the SSD, and everything else can sit on any other internal disks.

Solution 2:

I'm gonna focus on the grey area, as I agree with the other areas you listed.

OS X swap space: I say on ssd. The performance gain from HD to SSD is not so much that you can't immediately tell you are swapping. The access rate between SSD and RAM is still a large gap.

home directory library folder cache files? mail database?

I say definitely. E.g. your firefox profile's web cache is stored in the library cache folder, and accessing that from SSD will make browsing seem faster. Mail DB on SSD I think is right as well for a similar reason.

Spotlight indexing? Only if you use spot light a lot. noatime? I don't think HFS supports noatime journalling? Do you mean like journaling the HFS filesystem on the SSD? I think this is the default on HFS, and why wouldn't you want it? other? I can't think of an example where I wouldn't want to move all disk-intensive tasks to the SSD if your FIRST priority is speeding up productivity. Things like swapping, caching, temp files, and such are all disk-heavy tasks that would show up as slow downs when using the system.

I say hardware is made to be used. Put anything that is disk intensive on the SSD. Your list is pretty good.