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
  • A virtual server is not a dedicated server. Welcome to the Cloud :| – pauska Oct 16 '12 at 10:49
  • So that means that the high load and steal percentage is a normal occurance on cloud? – Aditya Patawari Oct 16 '12 at 10:51

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.

  • The system load shoots up to 10 easily. I see plenty of memory available and network is not a bottleneck. I have checked disk I/O as well and that looks fine. If it is not steal % then what else can I attribute the load to? – Aditya Patawari Oct 16 '12 at 10:44
  • You can attribute it to load. The system load is a measure of the load on the system. If you place load on the system, system load will go up. – David Schwartz Oct 16 '12 at 10:46
  • What factors attribute to the load? I always thought it to be a function of things like cpu, disk, memory, network etc. Some thing has to wrong somewhere. Right? – Aditya Patawari Oct 16 '12 at 10:48
  • The load has little to do with CPU, disk, memory or network but it has more to do with how much work the processes are asking the system to do. If the processes on the machine are all asking for work to be done, the system load goes up. Then the system does the work. – David Schwartz Oct 16 '12 at 10:50
  • I gotta read up on this @David. Thanks for the insight. :) – Aditya Patawari Oct 16 '12 at 10:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.