Tool for determining performance bottleneck

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.