Linux 下使用 cgroup 控制进程的cpu,内存
来源:互联网 发布:执行偏差算法含义 编辑:程序博客网 时间:2024/06/10 04:28
简介
Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。
环境
Ubuntu 16.04 LTS
Cgroup 安装
% apt install cgroup-bin cgroup-tools cgroup-lite
相关术语
任务(task),控制族群(control group),层级(hierarchy),子系统(subsytem)
可在 /sys/fs/cgroup/目录下查看已经挂载的子系统
使用方法
控制 cpu
% cd /sys/fs/cgroup/cpu% mkdir test && cd test # 新建 控制族群,其中自动会生成一系列文件% echo 50000 > cpu.cfs_quota_us # 设置 cpu 使用率为50% (将 cpu.cfs_quota_us 中的值除以 cpu.cfs_period_us 中的值)% echo 12345 > tasks # 将进程id写入tasks% cd .. && rmdir test # 删除 控制族群
可以发现进程cpu使用率不会超过50%
控制 内存
% cd /sys/fs/cgroup/memory% mkdir test && cd test # 新建 控制族群,其中自动会生成一系列文件% echo 1M > memory.limit_in_bytes # 设置内存使用上限是 1M% echo 12345 > tasks # 将进程id写入tasks% cd .. && rmdir test # 删除 控制族群当进程内存使用超过1M时,会触发OOM( out of memory ),进程会被 kill 掉
注意
当某个进程加入了某个控制族群,它之后产生的子进程也会自动加入
% echo $$28259% echo $$ > tasks % cat tasks2825928304进程 28304 是 cat 进程
参考文章
- http://www.cnblogs.com/lisperl/archive/2012/04/17/2453838.html
- http://www.cnblogs.com/yjf512/p/3298582.html
- http://www.cnblogs.com/yanghuahui/p/3751826.html
阅读全文
0 0
- Linux 下使用 cgroup 控制进程的cpu,内存
- Linux资源控制-使用cgroup控制CPU和内存
- Linux下CGroup进行CPU内存等资源控制
- Linux cgroup控制进程资源
- cgroup实践---使用cgroup限制mongodb进程内存
- linux下查看最消耗CPU、内存的进程
- linux下查看最消耗CPU、内存的进程
- linux下查看最消耗CPU、内存的进程
- Linux 环境下监控进程内存和CPU的使用率
- linux下查看最消耗CPU、内存的进程
- linux下查看最消耗CPU、内存的进程
- linux下查看最消耗CPU、内存的进程
- cgroup介绍、安装和控制cpu,内存,io示例
- cgroup介绍、安装和控制cpu,内存,io示例
- cgroup介绍、安装和控制cpu,内存,io示例
- linux查看使用内存和cpu最多的十个进程
- Linux Cgroup cpu子系统
- 使用cgroup 分配 cpu 资源给各个进程
- Hibernate入门(4):集合映射&组件映射
- 一道题带你认识ACM竞赛
- APUE第七章学习笔记
- lintcode balanced binary tree 解题思路
- Java程序员的五个职业发展方向
- Linux 下使用 cgroup 控制进程的cpu,内存
- ASP.NET连接数据库的方法
- 树的直径 hdu 2196
- 【力学•一】运动方程
- 将输入数组逆序输出
- About DL, About Mxnet
- (转)Java和JS中String、数组长度的求法
- 第三十五天
- 融会贯通——深入了解面向对象设计原则“依赖倒转原则”