哪里可以看到CPU Steal Time?

你可以使用Linux 的 TOP 命令来看到实时的一些性能指标。CPU相关的其中一行内容如下:
top
两个你可能较为熟悉的是 %id(空闲 百分比) 和 %wa(I/O 等待 百分比)。 如果 %id 很低, 那么说明CPU的工作负载很大并且没有多少计算负载能力剩余。 如果 %wa 很高,则说明瓶 CPU 处于等待计算的状态,但是正在等待I/O活动的完成(类似 从数据库中获取存储在 磁盘上 的一行数据)。

%st(percent steal time) 是CPU展示的最后一个性能指标。

CPU Steal Time - 类比售票厅

假设你打算买了若干张最新的好莱坞大片的电影票,且有两条队伍等待买票和一个售票口:

Movie Theater

如果我们把 CPU steal time 性能指标 类比成 售票的过程, 那么过程就是如下:

  • 0% Steal Time - 现在是礼拜三下午场:售票口正在工作,先处理第一条队伍的电影观众,然后处理第二条,然后第一条,然后第二条,轮流进行。处理的很快,且没有人在等待。

  • 50% Steal Time - 现在是礼拜五晚上: 在队伍中的一个人有一半的时间需要等待另一个在售票口的人完成卖票,而不能立刻买到票。卖票的时间更长了。

  • 100% Steal Time - 现在是礼拜五晚上并且 现金出纳金 坏了:所有人都在等待。

为什么高 Steal Time 会对web应用有更大的影响

如果有你在负载未满的物理机器上面运行一个长时间的计算任务,那么它可能会使用超过它额定的CPU切片 时间。过一段时间,可能其他的VMs可能也会需要超过它们额定量的CPU切片 时间,所以这个任务的执行会变慢。对于长时间计算任务而言之,这个情况可能并不是不能接受的:它可能是会晚点一完成或者也可能更快的完成(由于它能够使用更多的资源)。

然后,这种情况能够时代web应用停止响应。对于实时任务,类似快速响应许多的web请求,性能下降到1/4会对请求队列执行对应备选逻辑—中断请求。

Steal Time远高于0的原因

这里有两种可能性:

  1. 你需要一个额定更多CPU资源的虚拟机(你的虚拟机是问题)

  2. 物理机已经超卖了并且多个虚拟机之间在激烈的竞争资源(你的虚拟机不是问题)

提示:你不能通过看当前被影响的虚拟机实例的CPU性能指标来判断你所遇到的场景。(1 or 2) 当你有很多的虚拟宿主机上分别都部署了相同职责的服务程序(可能作为集群)时,就比较容易知道自己遇到的问题了。

资源图片

  • 是否 %st(CPU Steal Time Percentage) 在所有机器上面都上涨了?

    这个意味着你的虚拟机在使用更多的CPU资源。你需要为你的虚拟起增加更多的CPU资源的配额。

  • 是否%st(CPU Steal Time Percentage) 只在一部分机器上面陡峭增长?

    这个意味着物理机器被超卖了。把你自己的虚拟机挪到另一个物理机器去吧。

所有,什么时候你应该担心?

一般的参考标准-如果steal time 超过了10%并且持续了20分钟,那么虚拟机就可能性能下降了

当这种情况发生:

  1. 关闭虚拟机并且挪到另一台物理机器上面

  2. 如果steal time维持在很高的数值, 那么增加CPU资源配额。

  3. 如果steal time维持在很高的数值, 联系你的虚拟机提供商。你的虚拟机提供商有可能在超卖物理机。

转:理解CPU steal time相关推荐

  1. 理解CPU steal time

    Netflix 很关注CPU的Steal Time.他们的策略是:如果是当前虚拟机的Steal Time 超过了你们设置的 阈值,他们会关闭这台虚拟机并且在另外一台物理机上面重启. 如果你想要部署虚拟 ...

  2. 理解CPU steal time(转)

    Netflix 很关注CPU的Steal Time.他们的策略是:如果是当前虚拟机的Steal Time 超过了你们设置的 阈值,他们会关闭这台虚拟机并且在另外一台物理机上面重启. 如果你想要部署虚拟 ...

  3. (转)理解CPU steal time

    转自:https://www.cnblogs.com/menkeyi/p/6732020.html Netflix 很关注CPU的Steal Time.他们的策略是:如果是当前虚拟机的Steal Ti ...

  4. 理解CPU steal time

    Netflix 很关注CPU的Steal Time.他们的策略是:如果是当前虚拟机的Steal Time 超过了你们设置的 阈值,他们会关闭这台虚拟机并且在另外一台物理机上面重启. 如果你想要部署虚拟 ...

  5. 解决win10cpu使用率100_如何正确理解 CPU 使用率和平均负载的关系?看完你就知道了...

    来自公众号:阿里巴巴中间件 CPU(Central Processing Unit)是计算机系统的运算和控制核心,是信息处理.程序运行的最终执行单元,相当于系统的"大脑".当 CP ...

  6. io密集型和cpu密集型_和小胖一起理解CPU负载和利用率

    作者:小胖前言 凌晨一点,正整着炸鸡的小胖,微信一呼"你的服务器CPU持续超载 - " 麻溜的连上服务器,先把CPU负载摁下来.仔细一想,最近1分钟平均负载很大,但CPU利用率却≤ ...

  7. 【CPU】如何正确理解 CPU 使用率和平均负载的关系?

    什么是 CPU 使用率? CPU 使用率就是 CPU 非空闲态运行的时间占比,它反映了 CPU 的繁忙程度. 比如,单核 CPU 1s 内非空闲态运行时间为 0.8s,那么它的 CPU 使用率就是 8 ...

  8. 阿里程序员工作小技巧:理解CPU分支预测,提高代码效率

    技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,体现也会在优秀程序员在工作效率提升,产品性能优化和用户体验改善等小技巧方面的分享,以提高我们的工作能力 ...

  9. 上帝视角:程序员为什么需要理解 CPU?

    来源 | 码农的荒岛求生(ID:escape-it) 可能有的同学会问,程序员写代码就好了,为什么需要去理解CPU啊?不嫌累啊?啊?啊?你倒是说啊. 计算机系统 != 汉堡包 在之前的文章中我把计算机 ...

最新文章

  1. 口腔取模过程及注意事项_数字化口 腔的发展与展望
  2. matlab检验两个样本的,两样本独立T检验MATLAB代码
  3. IISASP.NET 站点IP跳转到域名
  4. invalid use of incomplete type struct 或者是class的解决办法
  5. Lisp尺寸标注增加前后缀_求一CAD标注加前缀与后缀lisp
  6. STP生成树的选举详细步骤、四个案列详解(附图,建议电脑观看)
  7. [leetcode] 题型整理之排列组合
  8. asp.net验证空间详说
  9. Log4net 配置实例
  10. Spring核心——MessageSource实现国际化
  11. 【android-音视频】listview中播放音频,实现音频时长的倒计时,暂停,切换。
  12. Android studio3.5读取项目资源文件的图片
  13. openstack虚拟机配置vip
  14. 微步在线云API-python批量检测IP脚本
  15. 编程语言入门YC创始人Paul Graham:如何开始创业
  16. 【计算机网络学习笔记13】交换技术(下)
  17. 企业计算机系统管理基本要求,药品经营企业计算机系统介绍.ppt
  18. Alexnet网络结构详解
  19. 用什么办法可以解决失眠?
  20. 紫枫术河 imx6 uboot的mtd分区总结(rootfs为ubi文件系统) imx6 uboot的mtd分区总结(rootfs为ubi文件系统)

热门文章

  1. 根服务器能当蜘蛛种子网站吗,网站秒收录经验分享,利用蜘蛛池你也能做到
  2. 2013年新米老师语录
  3. 什么是IP路由?思科与华为在IP路由配置上有啥区别?
  4. android opengl版本太低,如何提高android中的opengl es显示性能
  5. 管理感悟:当管理者,要做到哪些事
  6. 绩点计算 - C/C++ 语法基础
  7. Python实现大学绩点计算——利用pandas对excel处理
  8. 大学三年狂拿国内外十几个3D挑战赛大奖?!国内CG新星崛起
  9. 第一次做学年设计 学生成绩管理系统
  10. android命令行打包、签名+自动打包器