1 基本用法

通过cgroup虚拟文件系统可以创建,修改,使用cgroup。

挂载一个关联所有子系统的cgroup 层级树可以使用以下命令:

mount -t cgroup xxx /sys/fs/cgroup

xxx不会被cgroup的代码处理,但是会呈现到/proc/mounts或者mount命令输出中。

注意:有些子系统在用户配置之前不会生效。比如cpusets子系统,它必须在cpus和mems两个文件被配置后才能生效,所以设置的时候,一定要先配置cpuset.cpus和cpuset.mems两个文件后再将目标进程ID写入tasks文件。

cgroup建议对于不同的资源使用不同的层级树控制,对于用户想限制的资源,也建议使用独立的层级树进行控制。因此,通常的做法是将/sys/fs/cgroup挂载为tmpfs文件系统,在其下的每个目录,依次挂载独立的cgroup层级树关联不同类型的资源。比如:

mount -t tmpfs cgroup_root /sys/fs/cgroup

mkdir /sys/fs/cgroup/rg1

挂载cpuset和memory子系统:

mount -t cgroup -o cpuset,memory hier1 /sys/fs/cgroup/rg1

cgroup文件系统可以支持重复挂载,比如在挂载了cpuset,memory之后:

mount -t cgroup -o blkio hier1 /sys/fs/cgroup/rg1

cgroup重复挂载需要改变子系统,完全一样的子系统不允许重复挂载。

通过下面的语法可以在挂载时指定release_agent:

mount -t cgroup -o cpuset,release_agent="/sbin/cpuset_release_agent" xxx /sys/fs/cgroup/rg1

挂载命令多次指定release_agent会报错。

在/sys/fs/cgroup/cg1目录下,可以找目录树对应这个系统的cgroup。比如,/sys/fs/cgroup/rg1就是整个系统的cgroup。

如果想要修改release_agent的内容,通过如下命令进行:

echo "/sbin/new_release_agent" > /sys/fs/cgroup/rg1/release_agent

通过重新挂载cgroup,设置release_agent也可以达到目录

在/sys/fs/cgroup/rg1下面创建新的cgroup:

cd /sys/fs/cgroup/rg1

mkdir my_cgroup

设置cgroup

cd my_cgroup

echo $$ > tasks

进一步的,可以在这个目录下创建新的子cgroup。

mkdir my_sub_cs

删除cgroup,通过rmdir命令实现

如果cgroup处在运行状态,删除操作会报错,只有当tasks中包含的进程生命结束,对应的cgroup才能删除。

2 添加任务进程到cgroup

echo PID > tasks

注意是PID不是PIDs。一次只能添加一个任务进程ID。如果有多个任务ID,分多次添加。

把当前shell的进程ID添加到cgroup:

echo 0 > tasks

将TGID或者线程组中包含的任意线程ID添加到cgroup.procs中,可以实现将线程组所有线程添加到cgroup。往cgroup.procs文件中写0表示将写入进程所在进程组所有进程都添加到cgroup中。

注意:cgroup各个子系统初始化时,默认把系统中所有进程都纳管了。将一个进程的PID添加到新建的cgroup tasks文件的操作,实际是从一个cgroup移入另一个cgroup的操作。所以要将进程从某个cgroup中删除,只能通过将其移出到另一个cgroup来实现,或者直接将进程终止。

cgroup从入门到懵圈——cgroup使用举例相关推荐

  1. cgroup从入门到懵圈——cgroup概念

    从今天起,我要开始写博客了.先立个flag在这儿:两周一篇.万事开头难,中间不容易,最后会放弃.请各位看官监督(虽然似乎肯定没有人看). 之前有接触过cgroup,但东西都是同事在做(羡慕),理解不深 ...

  2. 中考禁用计算机,今年中考数学科禁用计算器,消息来得太突然,懵圈了吧?

    原标题:今年中考数学科禁用计算器,消息来得太突然,懵圈了吧? 上星期刚落幕了一场年度大戏<高考>,然而,6月的硝烟仍未散去,中考接踵而来,梧州的初三学子进入到最为关键的复习阶段.近日,离哥 ...

  3. 教师计算机桌面文件乱图片,调皮学生恶作剧,把老师的电脑壁纸换了,老师打开一看懵圈了...

    原标题:调皮学生恶作剧,把老师的电脑壁纸换了,老师打开一看懵圈了 很多教师都表示作为一名教师,其实是非常不容易的,除了要有足够专业的知识以外,还应该有很高的教学管理能力,因为在教学学的过程中总会遇到一 ...

  4. Linux中每次都懵圈的错误重定向

    每次都懵圈的错误重定向 文章目录 每次都懵圈的错误重定向 一.描述符说明 二.实验阶段 初始化 输出重定向 错误重定向 同时输出和错误重定向 三.常用的重定向 四.参考 一.描述符说明 在Linux系 ...

  5. Java面试集锦:面试官只问一个问题,30几人集体懵圈

    Java面试集锦:面试官只问一个问题,30几人集体懵圈 有的时候面试官的问题真的层出不穷,今天就又遇到了一个奇葩的问题(你是面试官你说了算).面试时候,直接给拿出了一个特别"复杂" ...

  6. 华为鸿蒙系统界面_谷歌懵圈!华为鸿蒙系统界面首次曝光,网友纷纷表示支持...

    谷歌懵圈!华为鸿蒙系统界面首次曝光,网友纷纷表示支持 最近的科技圈被华为禁令的消息刷屏,甚至已经上升到人尽皆知的地步,制裁华为的禁令诱发一连串的连锁效应.大量海外供应商集体宣布断供,而就连和华为合作已 ...

  7. shell mysql版本_MySQL Shell:01 从入门到蒙圈

    原标题:MySQL Shell:01 从入门到蒙圈 春节马上到了,小伙伴们感受到氛围已经纷纷开溜.(没氛围?华仔的恭喜发财可以让你马上感受下) 中国人过年要有仪式感,包饺子,贴春联,放鞭炮.换红裤衩. ...

  8. Linux Cgroup 系列:CentOS 7 Systemd Cgroup 层级

    CentOS 7 Systemd Cgroup 层级 Systemd单元类型 默认slice类型 systemd-cgls Reference List Cgroup控制组可以进行嵌套,但是为了能够更 ...

  9. linux启动参数关闭cgroup,Linux的cgroup功能(三):cgroup controller汇总和控制器的参数(文件接口)...

    cgroup controller列表 cgroup v1 支持的controller cgroup v2 支持的controller 说明 这里将罗列cgroup支持的controllers,每个c ...

最新文章

  1. 灵魂拷问:后端业务开发要会用 K8s 到什么程度?
  2. Java Optionals获得更具表现力的代码
  3. oracle可以注入吗,ORACLE 注入
  4. Qt文档阅读笔记-QTcpServer官方解析与实例(使用QSocket创建简单的HTTP服务器)
  5. Jsoup解析html某片段的问题
  6. xtwpro2编程器_xtw100编程器驱动
  7. 号称装669个APP依然不卡顿 魅族“神机”发布:红米K20怎么看?
  8. 负载均衡和反向代理的通俗理解
  9. lopatkin俄大神精简Windows 10 Pro 19042.487 20H2 PreRelease x86-x64 ZH-CN BIZ(2020-09-01)
  10. 太卷了,这篇 CPU Cache,估计没人看
  11. 谷歌浏览器如何安装插件-以octotree为例
  12. android 4.4 hifi,Android系统HiFi手机需要解决什么问题?_音频新闻-中关村在线
  13. 【Devops】【docker】【CI/CD】jenkins 清除工作空间报错Error: Wipe Out Workspace blocked by SCM...
  14. WPF Resource资源
  15. goolgle版本87.0乱码设置utf-8,附有charset插件
  16. 纯php 给pdf加水印,如何使用PHP为现有PDF文件添加水印?
  17. TVP大佬组队,吐槽鹅厂数据库?!
  18. PMP笔记:Line Manager与Functional Manager
  19. JAVA设计模式总结之六大设计原则
  20. Kafka_producer

热门文章

  1. filebeat7.7.0相关详细配置预览- processors - add_cloud_metadata
  2. 箱形图或盒图Boxplot以及matlab实现
  3. HTTP的206状态码
  4. Java设计原则——开闭原则
  5. 微信朋友圈的推广广告怎么做好?
  6. w怎么接显示 树莓派zero_树莓派zero w无显示器配置wifi和ssh
  7. 阿里巴巴代码规范学习+redis stream
  8. java web选择题_Servlet、JSP选择题
  9. 最高奖金50万!鲲鹏众智计划openGauss项目
  10. mac OS 10.15 catalina内录声音同时使用quicktime录屏教程