• 【博客529】linux cpu的 “steal time“含义


    linux cpu的 "steal time"含义

    Steal Time

    Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

    什么是Steal Time

    Steal Time是虚拟机进程在物理CPU上等待其CPU时间的时间百分比。您可以通过在 Linux 服务器上运行“top”命令来监控进程和资源使用情况。在使用指标中,Steal Tim被标记为“st”。

    在现代托管环境中,少量Steal Time通常是不可避免的,尤其是在共享云托管上运行时。

    example

    你的虚拟机(VM)会与虚拟环境的宿主机上的多个虚拟机实例共享物理资源。其中之一共享的就是CPU时间切片。如果你的VM的物理机虚拟比是1/4, 那么它的CPU使用率不会限制于25%的CPU时间切片-它能够使用超过它设置的虚拟比。(有别于内存的使用,内存大小是严格控制的)。

    哪里可以看到CPU Steal Time

    最常用的方式就是:运行top,从st列可以看到
    在这里插入图片描述

    Steal Time远高于0的原因

    这里有两种可能性:

    1、你需要一个额定更多CPU资源的虚拟机(你的虚拟机是问题)
    
    2、物理机已经超卖了并且多个虚拟机之间在激烈的竞争资源(你的虚拟机不是问题)
    
    • 1
    • 2
    • 3

    判断:

    1、是否 %st(CPU Steal Time Percentage) 在你的所有虚拟机机器上面都上涨了?
    
    这个意味着你的虚拟机在使用更多的CPU资源。你需要为你的虚拟起增加更多的CPU资源的配额。
    
    2、是否%st(CPU Steal Time Percentage) 只在一部分机器上面陡峭增长?
    
    这个意味着物理机器被超卖了。把你自己的虚拟机挪到另一个物理机器去吧。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Steal Time衡量指标

    用来衡量被Hypervisor偷去给其它虚拟机使用的CPU时间所占的比例,这个值越高,说明这台物理服务器的虚拟机之间资源竞争越激烈

    它表示真正的 CPU 对当前虚拟机不可用的时间-虚拟机管理程序从该VM“偷走”了该 CPU(用于运行另一个VM,或用于其自身需求)。如果特定虚拟机上的“Steal 时间”很高,则表明该虚拟机在过载或者负荷较大的物理主机上运行。

    Steal Time计算方式

    当虚拟机的vcpu在running的时候被抢了,会在stealtime里记录被抢走多长时间。以此来记录虚拟机有多少他应得的cpu时间被抢走了

    云平台出现Steal Time高时如何处理

    最简便有效的策略是:如果是当前虚拟机的Steal Time 超过了设置的 阈值,关闭这台虚拟机并且在另外一台物理机上面重启。

  • 相关阅读:
    Python前景如何?有哪些就业方向?
    【SpringMVC应用篇】SpringMVC请求参数处理
    用最少的代码模拟gRPC四种消息交换模式
    什么是开源工作流框架?有什么特点?
    微软智能云在华发布多项混合云服务及功能更新
    Linux操作系统分析总结
    DSPE-PEG-iRGD,iRGD-PEG-DSPE,磷脂-聚乙二醇-靶向肽iRGD,一种磷脂PEG肽
    Kafka收发消息核心参数详解
    <el-input> textarea文本域显示滚动条(超过高度就自动显示)+ <el-input >不能正常输入,输入了也不能删除的问题
    【送书活动】Photoshop——神秘生物的艺术创造与文化探索
  • 原文地址:https://blog.csdn.net/qq_43684922/article/details/127709562