惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threat Research - Cisco Blogs
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
U
Unit 42
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
T
Tor Project blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Recorded Future
Recorded Future
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
Latest news
Latest news
GbyAI
GbyAI
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
Hacker News: Ask HN
Hacker News: Ask HN
美团技术团队
N
News | PayPal Newsroom
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The Hacker News
The Hacker News
The GitHub Blog
The GitHub Blog
V
V2EX
N
News and Events Feed by Topic
T
Troy Hunt's Blog
Security Latest
Security Latest
博客园 - 叶小钗
P
Palo Alto Networks Blog

博客园 - 卡米i

【Docker】Used RSS Memory和Cached Memory ADTK指令解析之SSR(Special Service Request) 1A/1B/1E/1H... 什么是ADTK? 世界各国航司二字码 共享航班 行组 经停和中转的区别 EMD单号 OTA机票保险的相关角色 PNR/航司大编/小编 PNR/IATA二字码&三字码/票证代码 AirPlus和UATP的区别 UATP环球航空旅行计划 行李代转运 再说航段之Sector和Segment 联程机票 机票 PU(Pricing Unit,票价计算单元) 捆绑值机 瑞安航空 (Ryanair) 介绍 机票-取消留用 一个运价如何拆成 多个品牌 SKU 运价/价格/SKU的区别 运价 经停VS中转 共享航班(Code Share) 国内机场三字码 欧洲航司二字码 中国航司二字码 航变 行李直挂 UATP介绍 1航班N价格 航班运价 机票管控颗粒度 舱等和子舱位 Itinerary(行程单) TicketSignCode(出票标识代码) ETERM介绍 Itinerary和segment对比 Itinerary和segment 舱等&舱位 航程 航段 票号 票台 maven查看某个artifact都被哪些地方依赖
docker容器k8s之CPU节流控制指标:ThrottleCount/ThrottleTime
卡米i · 2026-07-07 · via 博客园 - 卡米i

在 Docker 容器及 Kubernetes 环境中,CPU 资源限制(通常通过 CFS Quota 实现)是保障多租户资源隔离的核心机制。理解 CPU Throttle Time 和 CPU Throttle Count 对于排查业务响应延迟、评估容器资源规格是否合理至关重要。

以下是这两个指标的详细介绍:

1. 核心背景:CFS Bandwidth Control

在 Linux 中,容器的 CPU 限制通过 CFS (Completely Fair Scheduler) 配额机制实现。你通常会在 Docker 中设置 --cpus=1 或在 K8s 中设置 resources.limits.cpu=1,这实际上配置了两个内核参数:

  • cpu.cfs_period_us: 周期长度(默认为 100ms,即 100,000 微秒)。
  • cpu.cfs_quota_us: 在一个周期内容器允许使用的 CPU 时间。

如果一个容器在 100ms 的周期内耗尽了它的配额,内核就会强制将该容器的所有进程挂起(暂停运行),直到下一个周期开始才能继续执行。这种“强制挂起”的行为就是 CPU Throttling(CPU 节流)。


2. CPU Throttle Count

  • 定义:指容器在运行期间,被内核触发节流(限制执行)的次数。
  • 作用:
    • 判定频繁性:该指标反映了容器被强制挂起的频率。如果该数值在短时间内快速增加,说明容器的 CPU 使用极其不稳定,频繁触碰上限。
    • 定性分析:它是一个“计数器”,用来告诉运维人员“发生了多少次中断”。它不能直接衡量由于节流导致的性能损失程度,只能反映节流发生的频率。

3. CPU Throttle Time (也称为 nr_throttled_time 或 throttled_usec)

  • 定义:指容器内所有进程由于 CPU 节流而累计被挂起的总时长(通常单位为微秒或纳秒)。
  • 作用:
    • 量化影响:这是衡量性能损耗最关键的指标。如果一个业务接口响应变慢,对比其 Throttle Time 的增长曲线,可以精准判断延迟是否由 CPU 限制导致。
    • 计算性能损失比:通过 (Throttle Time / 采样间隔时间),可以计算出容器因节流损失的有效计算能力比例。
    • 评估资源容量:如果 Throttle Time 持续增长,说明当前的 CPU Limit 设置过小,无法支撑业务的正常负载,需要考虑增加资源配额或优化代码逻辑。

4. 运维监控中的实际应用对比

指标维度运维价值
Throttle Count 频率 了解容器“被按住”了多少次,监控告警的触发阈值
Throttle Time 时长 了解容器“损失了多少性能”,用于评估业务受损程度

典型场景:

假设你的应用是一个实时性要求极高的 API 服务:

  1. 监控到 Count 增加,但 Time 不怎么动:说明节流发生的时间很短,对业务影响可能微乎其微。
  2. 监控到 Time 显著增加:说明业务进程被“冻结”的时间太长,必然会导致请求排队、接口超时,这时候必须扩容 CPU 配额。

运维建议

  • 监控侧:不要只盯着 Throttle Count,一定要监控 rate(container_cpu_cfs_throttled_seconds_total[1m])(即每秒节流时长),这是判断业务是否因为 CPU 资源不足导致卡顿的最直接证据。
  • 优化思路:
    • 扩容:如果 Throttle Time 长期增长且伴随业务延迟,直接调大 CPU Limit。
    • 代码分析:如果业务流量未增加但节流激增,排查是否有死循环、高 CPU 密集型的后台任务,或者考虑是否需要将这些任务拆分到不同的容器中。
    • 调整参数:在极少数对实时性要求极高的场景下,运维可能会调大 cfs_period_us 的值(虽然不推荐),以减少高频率中断对 CPU 缓存友好度的破坏。