Code:
top - 16:34:06 up 83 days, 11:54,  1 user,  load average: 2.30, 3.79, 4.52
Tasks:  97 total,   1 running,  96 sleeping,   0 stopped,   0 zombie
Cpu(s): 38.9%us, 13.3%sy,  0.0%ni, 44.5%id,  2.8%wa,  0.1%hi,  0.4%si,  0.0%st
Mem:   2074300k total,  2020740k used,    53560k free,   191448k buffers
Swap:  4192956k total,       60k used,  4192896k free,  1656828k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 8796 mysql     16   0  225m  73m 5044 S  209  3.6   1436:34 mysqld
 3149 mike      15   0  2184  992  788 R    0  0.0   0:00.09 top
Ok, so our MySQL server seems to have high load these days.

What can you tell me about this top output above? From what I can understand, there is rather high CPU usage, though memory and everything else seems fine.

Is there anything you can immediately recommend? ie CPU change, second MySQL server for read's only? Perhaps we should be looking further into our applications and optimizing the queries there?

Any advise would be great, I'm not sure exactly where to start.

The load average just now has gone up to 7-8, it does rise up there quite a bit and then drop back down again to around 2-4, which still isn't great I don't think. CPU: Intel DualCore Xeon X3065 2.33Ghz

I know this is quite vague really but I'm just looking for some tips on what to do first, I would like to learn.

Thanks