How do I determine my Linux box's performance bottleneck?

The SYSSTAT utilities consist of a great collection of performance monitoring tools for CPU, memory, Disk I/O, and your network.

The official tutorial can be found here.


Check the utilization of the following things besides the processor,

  1. The 2GB RAM (if you are beyond 80%-90%, you need more of it)
    • Swap space (If you find more than 30%-40% utilization, Disk I/O may slowing you down)
    • Disk I/O (journaling and disk access speed may be holding you)

Checking Disk I/O is a good idea,
I'd also suggest checking the notes in EvilChookie's answer (+1 there),
particularly because you have an Atom based system.
An idle processor could also be a processor waiting for data/instructions.


Just because your CPU doesn't seem overloaded by a process monitor, doesn't mean it's not the bottleneck.

Keep in mind that the processor as a whole (not just it's clock speed) will determine the overall performance of your net book:

CPU Clock: 1.6ghz
FSB: 533mhz
L2 Cache: 512kB
Single Core Processor

Remember the following:

  • All I/O is CPU controlled. RAM and Hard drive requests are going to tax the CPU at some point
  • All USB devices are directly dependent on the CPU. Many components are actually USB devices, especially in notebooks. Keyboard, trackpad, wireless, etc.
  • Lower FSB means a slower response time.
  • Single core is just not as good as a multi core processor, especially when considering the lower clock speed, and lower FSB.

All these factors contribute to slower multi tasking. Just because your activity monitor doesn't show high CPU load, doesn't mean that the CPU can't get taxed by lots of little requests (and keep in mind that a CPU can only perform one request at a time).