I am using my early 2011 MacBook Pro for iOS development, Photoshop work, and the like, and it is at times quite sluggish. Is there a tool that I can just run for a day, and then look at the statistics it produces to identify the performance bottleneck?

I am considering either buying more RAM (I have 8 currently, would get 16) or an SSD (I currently have the stock HDD).


The tools I would use are:

  • Activity Monitor
  • Instruments (run from Xcode)
  • vm_stat 900
  • io_stat 900
  • top -u -s 900
  • sysdiagnose - shift+control+option+command+. (or run sudo sysdiagnose)

The two stat commands and top all run in a terminal window and snapshot 15 minute intervals of activity. The stat ones log the statistics. I'd run the sysdiagnose command sparingly, perhaps once at the start of the period, once when the OS seems exceptionally slow and once at the end.

The easiest to manage is Activity monitor and I'd focus on making sure nothing is occupying the CPU that you don't feel should be taking a lot of resources and the balance of RAM - what percentage is wired what percentage is wired+active.

  • I think some of these utilities (especially sys diagnose) are a bit ambitious for someone who can't find their own computer bottleneck. Not to be rude, I just don't think it's an appropriate response – Alexander - Reinstate Monica Jun 28 '13 at 2:23
  • 5
    @XAleXOwnZX: it's not really that it's difficult -- just sort of a pain. I don't feel like checking Activity Monitor every time I start doing something to see where the problem is. I want to keep a tool running all day, and at the end, I will simply write some script to quickly go through the data, and tell me say : CPU bottleneck hit 10% of the time, HD bottleneck hit 50% of the time, RAM bottleneck hit 40% of the time. I'll check out the three terminal commands tomorrow, that sounds like what I want. – houbysoft Jun 28 '13 at 2:36
  • 3
    Also, I didn't know about sysdiagnose. That sounds very useful, +1. – houbysoft Jun 28 '13 at 2:44
  • 3
    Sometimes I like to encourage people to reach for the correct tools and let them decide what are the best. None of these are dangerous,and I did say "these are what I would use" to imply they are not for everyone. What about that is inappropriate? – bmike Jun 28 '13 at 4:01
  • io_stat 900 should be iostat 900 – zwolin Mar 15 '18 at 16:36

The bottleneck of your system is HIGHLY specific to the application of your Mac. Here are some examples:

  • A video game rig is almost always bottled necked by the graphics card, as video games don't require much disk access or CPU computing.

  • Casual use, like loading applications and files, is likely
    bottlenecked by file access speed.

  • Development and A/V production requires a mix of most computer specifications, but there isn't an "automatic" application to determine it for you.

Here is how I would determine the bottleneck:

  • Take a look at your RAM usage. A nice free way to do so is opening Activity Monitor, right clicking the dock icon, and selecting "Show Memory Usage" under the "Dock Icon" sub-menu. If your RAM (excluding "inactive" memory) is frequently high (for example, 80%), then perhaps it'd be worth upgrading. If you only ever used half of your 8GB of RAM, adding on 8 more GB wouldn't impact performance.
  • Similarly, keep an eye on your disk activity (from activity monitor). Benchmark your Mac's HDD (so you learn it's Read/Write max speeds) and compare the disk activity you observe to the maximum capability of the drive. If you frequently hit the max, then perhaps it's SSD upgrade time.

I would recommend the SSD upgrade. Apart from the obvious file I/O speed boost, if you use too much memory, your SSD would make for much better swap space than your current HDD.

  • And yes I feel like the SSD would help the most; however, it is also significantly more expensive than just getting more RAM, so it'd be nice to have some hard data first. – houbysoft Jun 28 '13 at 2:52
  • Do you use your optical drive frequently? If not, then there are plenty of brackets you can buy in order to replace your optical drive with an additional 2.5" SATA drive. (Optibay is the popular brand name, although generic equivalents are available on eBay for $10-$20) Doing so would allow you to use a smaller (cheaper) SSD for your OS, and sym link all bulky (less important) files to your current HDD. You can have a decent SSD set up for ~$80 this way. – Alexander - Reinstate Monica Jun 28 '13 at 3:48
  • I've deleted the comments questioning downvotes. That can tend to cause more downvotes in my experience. Ask on Ask Different Meta if you really want an answer to why... – bmike Jun 28 '13 at 4:24
  • Idc about down votes, reputation in general is just an irrelevant "junk" size competition of which I have no interest. I'm legitimately curious as to how I could improve my answer, – Alexander - Reinstate Monica Jun 28 '13 at 5:05
  • Just a note that running MemoryFreer and the indispensable MenuMeters, configured as you like, gives you a fast visual -- plus the mouse-over menu shows a lot of memory info and has link to Activity Monitor. – Zo219 Jul 2 '13 at 21:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .