Linux Cgroup v1(中文翻译)(3):CPU Accounting Controller
英文原文:
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpuacct.html
CPU Accounting Controller
CPU统计控制器(CPU Accounting Controller)用来分组使用cgroup的任务,以及统计这些任务分组的CPU用量。
CPU统计控制器支持多层次架构的分组。一个统计分组累加所有子分组和分组中的任务的CPU用量。
统计分组可以通过挂载cgroup文件系统来创建:
# mount -t cgroup -o cpuacct none /sys/fs/cgroup
完成上述操作,父级统计分组就会在/sys/fs/cgroup变为可见。在启动的时候,这个分组包含了系统中所有的任务。/sys/fs/cgroup/tasks列举了该cgroup中的所有任务。/sys/fs/cgroup/cpuacct.usage给出了这个这个分组中所有任务获取的CPU时间(以纳秒为单位)。
在父分组/sys/fs/cgroup下可以创建新的统计分组:
# cd /sys/fs/cgroup
# mkdir g1
# echo $$ > g1/tasks
上述操作创建了新的g1分组,把当前shell进程移动进去。这个bash和她的子孙消耗的CPU时间可以从g1/cpuacct.usage获取。/sys/fs/cgroup/cpuacct.usage同样也是累加的。
cpuacct.stat文件列举了几个统计数字,划分成用户和系统的CPU时间。这些统计数组支持:
用户:用户模式里的cgroup任务花费的CPU时间。
系统:内核模式里的cgroup任务花费的CPU时间。
用户和系统的CPU时间单位都是USER_HZ。
cpuacct控制器使用percpu_counter接口来收集用户和系统时间。这会有两个副作用:
- 理论上可能会看到用户时间和系统时间的错误数值。这是因为32位系统上的percpu_counter_read()函数写并发是不安全的。
- 用户时间和系统时间可能会稍微有点过时,这是因为percpu_counter的批量处理性质决定的。
Linux Cgroup v1(中文翻译)(3):CPU Accounting Controller的更多相关文章
- Linux Cgroup v1(中文翻译)(2):CPUSETS
英文原文:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html Copyright (C) 2004 BU ...
- Linux Cgroup v1(中文翻译)(1):Control Group
英文原文:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cgroups.html 1 控制组 1.1 什么是控制组? 控制组 ...
- Linux Cgroup v1(中文翻译)(4):Block IO Controller
Block IO Controller 1 概览 cgroup子系统blkio实现了block io控制器.无论是对存储结构上的叶子节点和还是中间节点,它对各种IO控制策略(proportional ...
- 【转载】Linux cgroup资源隔离各个击破之 - cpu隔离1
Linux cgroup 有两个子系统支持CPU隔离.一个是cpu子系统,另一个是cpuset子系统. cpu子系统根据进程设置的调度属性,选择对应的CPU资源调度方法 .1. 完全公平调度 Comp ...
- linux运维常见英文报错中文翻译(菜鸟必知)
linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permissio ...
- Linux常见英文报错中文翻译(菜鸟必知)
Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...
- Linux常见英文报错中文翻译
Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...
- 深入理解 Linux Cgroup 系列(二):玩转 CPU
原文链接:深入理解 Linux Cgroup 系列(二):玩转 CPU 上篇文章主要介绍了 cgroup 的一些基本概念,包括其在 CentOS 系统中的默认设置和控制工具,并以 CPU 为例阐述 c ...
- Dapr 官方文档中文翻译 v1.5 版本正式发布
作者:敖小剑 - Dapr Approver 经过 Dapr 中国社区十余位贡献者一个多月的努力,Dapr 官方文档中文翻译 v1.5 版本完成翻译和审校,正式发布并上线 Dapr 官网. 访问方式 ...
随机推荐
- Array.fill()函数的用法
ES6,Array.fill()函数的用法 ES6为Array增加了fill()函数,使用制定的元素填充数组,其实就是用默认内容初始化数组. 该函数有三个参数. arr.fill(value, s ...
- 微信分享报错config:invalid url domain
错误类型:invalid url domain 调试返回参数: { "errMsg": "config:invalid url domain" } 截图: 环境 ...
- 解决stram++的host代理443端口被占用的问题(电脑有虚拟机进!!)
解决stram++的host代理443端口被占用的问题 一.steam++ 最近在用steam++这个开源且功能强大的加速器,过多就不介绍了 主页地址跳转:Steam++ - 主页 (steampp. ...
- pip——重新安装
原因 没有用管理员的权限安装.导致失败. 并且pip还被卸载了. 使用环境 win10 重新安装pip python -m ensurepip 更新pip 管理员打开cmd python -m pip ...
- ubuntu连接不到WiFi
ubuntu连接不到WiFi 在软件与更新中,进入附加驱动. 搜到对应的无线网卡驱动,安装后在重启电脑.
- redis的基础命令操作
文章目录 前言 一.字符串类型 二.哈希类型 三.列表类型 四.集合类型 五.有序集合类型 六.通过命令 前言 redis的数据结构 redis存储的是key,value格式的数据,其中的key是字符 ...
- 宝藏考研公众号,考研up篇(参考)
每当刷完题感觉到累了,看完网课觉得倦了,拿起手机看一下我推荐的宝藏公众号和up推送的文章和视频(。・ω・。)ノ♡,这样既可以换换口味解解腻,又可以不断的提升自己,岂不美哉?让别人以为你拿起手机开始摆烂 ...
- Divan and bitwise operations
这是一道比较综合的数学题目,光是吧题目看懂就花了我好一会儿时间,先看看题目吧: 题目分析:对于m段给定连续段的或值,要求出n个数的序列子序列的异或值之和: 题解: 这道题,我们先不要把它当作一个数一个 ...
- 使用 Bitnami PostgreSQL Docker 镜像快速设置流复制集群
bitnami-docker-postgresql 仓库 源码:bitnami-docker-postgresql https://github.com/bitnami/bitnami-docker- ...
- 技术分享 | Web自动化之Selenium安装
Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作.但是手工执行的任务容易出现人为的错误,也比较费时间.因此,将这些任务自动化,就可以消除人为因素.S ...