Amazon EC2: how to find out detailed CPU usage

amazon ec2central-processing-unitcpu-usagemunin

I am running several EC2 instances, and I want to know the exact work my CPU is doing. On "normal" machines I am doing this with munin and its CPU plugin which looks at the statistics provided by /proc/stat.

On my EC2 machines however, I get incorrect graphs. The machine has two cores, so the max CPU usage should be 200% – however it gets as high as 400%:

Munin CPU Graph

I know that I should use Amazon CloudWatch to see the total CPU usage (and this is the official and recommended from Amazon way to do this), but I am specifically looking on how the CPU usage is spend (e.g. system, user, iowait).

Is there a way to get detailed CPU usage statistics on EC2 instances?

Best Answer

Your graphs are being thrown off by how the underlying virtualization shares CPU power between VMs. If you ignore the steal and idle values the numbers should line up closer to reality.

Related Topic