High CPU Steal percentage on Amazon EC2 Instance

amazon ec2performancevirtualization

I am experiencing high CPU steal percentage in a Amazon EC2 large instance. I know it means that my virtual CPU is waiting on the real CPU of the machine for time. My question is that what can I do to reduce this percentage and get maximum out of the CPU?

Steal percentage is consistently at 20%. System load crosses 10 when this happens. I have checked memory and network and I am sure that they are not the bottleneck. Is that normal for such environment?

Also are there any system level optimization techniques for reducing steal percentage form the virtual instance?

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          52.38    0.00    8.23    0.00   21.21   18.18

Best Answer

If you want to get more out of the CPU, you have to ask for more out of it. It's idle 18% of the time because you aren't asking it to do any more.

You may find this article on EC2 monitoring helpful. CloudWatch provides you much more useful monitoring because it understands the internals of the virtualization.