首页 > 其他分享 >CPU 受限率(CPU throttling rate)解释和计算方式

CPU 受限率(CPU throttling rate)解释和计算方式

时间:2023-12-12 19:44:05浏览次数:28  
标签:throttling throttled cpu rate periods 受限 nr CPU

目录

什么是CPU受限率

CPU受限率用于衡量在特定时间段内,CPU 被限制运行的程度(即毛刺)。0%表示CPU没有受到限制,100%表示容器的CPU受限率达到100%。

CPU受限率相关指标

CPU 受限率可以通过计算在给定时间段内,CPU 被限制的时间与总时间的比值来获得。例如,如果在 100 毫秒的时间段内,CPU 被限制了 20 毫秒,那么 CPU 受限率为 20%。
CPU受限后,一般来说可能导致服务处理耗时增加。

在 Linux 系统中,可以通过分析 CFS(完全公平调度器)组调度器的统计信息来计算 CPU 受限率。这些信息可以在 /sys/fs/cgroup/cpu(或 /sys/fs/cgroup/cpuacct)目录下的 cpu.stat 文件中找到。cpu.stat 文件包含 nr_periods(控制周期数)和 nr_throttled(被限制次数)参数。
nr_periods:表示自从 CFS 组调度器启动以来,已经经过了多少个控制周期。一个控制周期是指 CFS 组调度器分配给组的固定时间窗口。在每个控制周期中,CFS 组调度器会根据组的权重分配 CPU 时间。

nr_throttled:表示自从 CFS 组调度器启动以来,该组被限制(throttled)的次数。当一个组在控制周期内已经消耗了其分配的 CPU 时间时,组会被限制,直到下一个控制周期开始。

如何计算cpu受限率

要计算 CPU 受限率,可以使用以下方法:

start time:

cat /sys/fs/cgroup/cpu/cpu.stat 
nr_periods 146232
nr_throttled 130
throttled_time 30197510213

nr_periods_1 = 146232
nr_throttled_1 = 130

10秒后

cat /sys/fs/cgroup/cpu/cpu.stat 
nr_periods 146332
nr_throttled 150
throttled_time 30197510213

nr_periods_2 = 146332
nr_throttled_2 = 150

则这10秒钟的cpu受限率 = (nr_throttled_2 - nr_throttled_1) / (nr_periods_2 - nr_periods_1) = (150-130) / (146332 - 146232) = 20%

参考资料

精准限制CPU:Cgroups https://zhuanlan.zhihu.com/p/551957994

标签:throttling,throttled,cpu,rate,periods,受限,nr,CPU
From: https://www.cnblogs.com/gnivor/p/17897669.html

相关文章

  • Power Management Strategies【ChatGPT】
    https://www.kernel.org/doc/html/latest/admin-guide/pm/strategies.html这段文本介绍了Linux内核支持的两种主要高级电源管理策略。第一种策略是基于使用整个系统的全局低功耗状态,其中用户空间代码无法执行,整个系统的活动性显著降低,称为睡眠状态。当用户空间请求时,内核将系......
  • 策略模式(strategy)
    1#include<iostream>2usingnamespacestd;34//设计思想:我们父类和子类就是一个扩展的关系?是不是合适5//里氏代换原则:子类对象就应该能完全替代父类的行为6//对于继承这样设计,特别小心,我们:组合大于继承7//把quack和fly抽象成为一个对象,那么这个问题......
  • spec cpu 2017
    官网: https://www.spec.org/cpu2017/  参考:Speccpu2017介绍  https://blog.csdn.net/admking/article/details/109069465 spec2017安装和使用 https://blog.csdn.net/admking/article/details/109069465https://www.jianshu.com/p/5c085f295cff SPECCPU简介和......
  • 【LLMOps】Accelerate & DeepSpeed多卡使用
    介绍目前大模型微调主要方案是LLaMA-Factory LLaMA-Factory中,提供了两种多卡框架:Accelerate、DeepSpeedAccelerate依赖accelerate==0.24.1transformers==4.34.1datasets==2.14.7tiktoken==0.5.1peft==0.6.2trl==0.7.1这里只列出可能冲突版本注意使用最新版本0.24.1,尝......
  • CPU能否用于推理
    大家也看到了最近发生的新闻,A800和H800都不让在国内卖了,甚至4090都有可能被禁(看趋势应该会被放开,对于纯消费卡的限制也确实无厘头,虽然4090用来训练,调整好超参是真不错)    晚上和朋友吃饭,席间一个朋友问起,为什么不能用CPU来跑大模型呢,如果训练不行的话,难道推理也不可以吗?其实......
  • CPU 空闲时间管理【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/pm/cpuidle.htmlCPU空闲时间管理版权©2018IntelCorporation作者[email protected]概念现代处理器通常能够进入一种状态,其中程序的执行被暂停,属于它的指令不会从内存中获取或执行。这......
  • CPU空闲时间管理 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/driver-api/pm/cpuidle.htmlCPU空闲时间管理版权©2019IntelCorporation作者[email protected]空闲时间管理子系统系统中的每个逻辑CPU(看起来获取和执行指令的实体:如果存在的话,硬件线程或处理器......
  • CPU调度器实现提示:针对特定体系结构代码【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/scheduler/sched-arch.html《CPU调度器实现提示:针对特定体系结构代码》NickPiggin,2005上下文切换运行队列锁定默认情况下,调用switch_to体系结构函数时会锁定运行队列。除非switch_to需要获取运行队列锁,否则通常不会出现问题。这通......
  • webrtc应用上线cpu偏高的问题排查
    现象 如上图,上线后服务全量使用的cpu统计明显增高,大概在50%左右. 排查比对上一稳定版本和本次版本代码diff,无异常比对依赖lib版本,无异常使用perf和FlameGraph生成火焰图比对两个版本差异.发现几个问题:有些调用栈不同,缺少一些中间函数调用栈;新版本在音频......
  • 11.Demonstrate the essentials concerning "Abstract" in research papers,such as f
    11.Demonstratetheessentialsconcerning"Abstract"inresearchpapers,suchasfeatures,types,andcomponents.演示研究论文中关于“摘要”的要点,如特点、类型和组成部分。Round1:IntroductiontotheAbstractSpeaker1(ResearcherA):Ladiesandgentlemen,than......