linux 性能监控 sar %steal 很高是什么原因


06:30:01 AM CPU %usr %nice %sys %iowait %steal %irq %soft %guest %idle
10:00:01 AM all 0.57 0.00 0.50 0.00 0.10 0.00 0.15 0.00 98.67
10:22:19 AM all 0.25 0.00 5.44 0.00 94.30 0.00 0.01 0.00 0.00

我通过sar命令,发现机器在10点22时,%steal很高,是什么原因导致的呢

Linux 性能

网路乞讨专家 10 years, 4 months ago

你这个应该是虚拟机吧?

虽然是虚拟化,但实际上CPU还是同一个,各个虚拟机轮流坐庄,执行自己的代码。
这和进程分时执行一样的概念。

当这个CPU被剥脱服务于其他虚拟机时,就会计入本虚拟机的%steal。
如果代码中执行sleep、select、poll等等主动阻塞,让出CPU,就不会计入%steal。
%steal一定是 不情愿的、被迫的。

所以出现%steal高,说明你这个虚拟机被其他虚拟机打断的比较多,性能会受影响。

这种时候,应该去看宿主机以及其他虚拟机这段时间的运行情况,就知道问题所在了。

个人理解,仅供参考。

puxian1 answered 10 years, 4 months ago

Your Answer