首页 > 其他分享 >cgroup cpu 子系统参数深入理解

cgroup cpu 子系统参数深入理解

时间:2023-06-15 14:02:43浏览次数:50  
标签:30% quota us cpu ap 子系统 cgroup cfs


shares

这个容易理解,无论 cpuset.cpus 中有多少个 cpu,它都是按照比例用。

cpu.cfs_quota_us

这个就有点坑了,用起来会有些费劲。8核机器,ap tasks 里有 20 个线程并行执行,设置 cpu.cfs_quota_us 为 30000(period 为 100000),预期是 cpu 能用到 30% * 8 = 240%,而实际上只用到了 30%。也就是说,20个线程共享 30% 的 cpu。

[xiaochu.yh ~/tools/cgroup] $cat /sys/fs/cgroup/cpu/oceanbase/ap/tasks
59249
59250
59251
59252
59253
59254
59255
59256
59257
59258
59259
59260
59261
59263
59264
59265
59266
59267
59268
59269
echo 30000 >  /sys/fs/cgroup/cpu/oceanbase/ap/cpu.cfs_quota_us

cgroup cpu 子系统参数深入理解_并行执行


所以,cpu.cfs_quota_us 是个绝对值,和 group 下的 cpu 数量无关,指的是这个 group 下的 tasks 总共可以用到的 cpuu 时间(基准值是 cfs_period_us)

思考

如果我们的目标是 ap、tp 混跑时,cpu 负载满时,ap 最多占 30% cpu,那么设置好 shares 即可。
如果我们的目标是 ap、tp 混跑时,cpu 负载不满时,ap 最多占 30% cpu,那么就需要设置 cpu.cfs_quota_us,但要设置的 quota 和 cpu 核数有关,需要考虑核数计算一番才能得到最终 quota 值。例如,在8核场景下,quota = 8 * 30000 = 240000。这个对于写程序来说太复杂了,程序需要感知到当前 cpu 数量。


标签:30%,quota,us,cpu,ap,子系统,cgroup,cfs
From: https://blog.51cto.com/u_16162111/6486732

相关文章

  • 记一次加锁导致ECS服务器CPU飙高的处理
    导航火线告警,CPU飚了版本回退,迅速救火猜测:分布式锁是罪魁祸首代码重构,星夜上线防患未然,功能可开关高度戒备,应对早高峰实时调整方案,稳了结语参考本文首发于智客工坊-《记一次加锁导致ECS服务器CPU飙高分析》,感谢您的阅读,预计阅读时长3min。每一次版本的上线都应该......
  • 圈子系统小程序,APP构架讲解说明
    本系统采取独立部署,放置在购买者自己的服务器上面,从而实现自己二开的愿望。部分免费源码展示完全免费源码咨询小程序基础知识 小程序是基于WEB规范,采用HTML、CSS和JS等搭建的一套框架,微信官方给它们取的名字:WXML、WXSS,但本质上还是在整个WEB体系之下构建的。WXML说到底就是xml的......
  • FPGA+CPU助力数据中心实现图像处理应用体验与服务成本新平衡
    图片逐渐成为互联网主要的内容构成,相应的图片处理需求也在高速成长,移动应用与用户生产内容(UGC)正在驱动数据中心图像处理的业务负载快速增加。本文深维科技联合创始人兼CEO樊平详细剖析了图片加速的必要性、当前实际的图片解决方案与部署方式以及如何通过FPGA+CPU异构计算的方案维护......
  • CPU 缓存一致性:MESI
    概述MESI(也称伊利诺斯协议)是一种广泛使用的支持write-back策略的缓存一致性协议。MESI状态我们假设CPU中共有$k$个核;CPU中每个cacheline使用$4$种状态进行标记:状态介绍所有核中该状态的个数MODIFIED实际上是exclusivedirty,说明该核的缓存数据被修改......
  • virtualBox 报VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_A
    背景:主机是ASUS主板操作系统是deepin20.0系统,需要安装win10,下载virtualbox和win10镜像iso,virtualbox设置完后,启动win10,virtualbox报错VT-xisdisabledintheBIOSforbothallCPUmodes(VERR_VMX_MSR_ALL_VMX_DI的错误.原因:主机没有开启cpu虚拟化技术支持解决:   ......
  • 在上一操作期间遇到问题:Debug|AnyCPU 配置中 TargetFrameworkMoniker和NugetTargetMon
    在上一操作期间遇到问题:Debug|AnyCPU配置中TargetFrameworkMoniker和NugetTargetMoniker属性的值均为空场景使用VS打开之前的项目,报错:在上一操作期间遇到问题:Debug|AnyCPU配置中TargetFrameworkMoniker和NugetTargetMoniker属性的值均为空新建项目后,选择该项目未项......
  • CPU 缓存一致性:MESI
    概述MESI(也称伊利诺斯协议)是一种广泛使用的支持write-back策略的缓存一致性协议。MESI状态我们假设CPU中共有$k$个核;CPU中每个cacheline使用$4$种状态进行标记:状态介绍所有核中该状态的个数MODIFIED实际上是exclusivedirty,说明该核的缓存数据被修改......
  • CPU结构整理(附Xmind整理)
    一、图二、下载地址(xmind、PDF)2、百度网盘地址链接:https://pan.baidu.com/s/1JxeRAGvtgaj5yTt6RfVy3g提取码:4dtq......
  • 微软或在开发自己的 CPU、TikTok 发布电视版本、索尼撤下《赛博朋克2077》并为玩家退
    DecodetheWeek≠音视频技术周刊 A funkynewfont DesignedbyAlexanderWright incollaborationwith RodrigoFuenzalida.NewsBriefing1. 苹果在最新的科技博客中谈到如何更有效地设计AppClipURL。该公司还宣布,AppClipCodes(编码一个URL并可以合并一个NFC标......
  • linux服务器CPU飙高排查
    文章目录前言一、第一步top二、根据pid查找具体线程2.根据pid找到16进制3.根据进程和线程查找原因总结前言系统cpu飙高,尤其对于后端人员来说,其实应该学会排查,这样也算是综合能力的体现;那么当出现了cpu严重飙高的时候怎么排查呢?一、第一步top直接在问题服务器输入命令:to......