cgroups简介

控制组(cgroups)是一个linux内核特性,它允许你指定内核应该如何给一个进程组分配特定的资源。你可以用cgroups指定在某一个组中的进程使用多少cpu时间、系统内存、网络带宽、或者这些资源的组合。

(选自马哥教育的微信公众平台)

cgroups使用# 下载一个可以模拟cpu高负载的工具,mathomatic是质数生成器,会加大处理器的负荷

wget http://mathomatic.orgserve.de/mathomatic-16.0.5.tar.bz2

tar xf mathomatic-16.0.5.tar.bz2

cd mathomatic-16.0.5/primes/

make && make install        #  编译安装

# centos7系统需要安装libcgroup-tools包,才有cgroup配置命令

yum install -y libcgroup-tools.x86_64

# 创建两个不同cpu资源分配的组

cgcreate -g cpu:/large      # 具体命令使用cgcreate -h

cgcreate -g cpu:/small

# cpu.shares是cpu控制的一个属性,更多的属性

# 可以到/sys/fs/cgroup/cpu目录下查看,默认值是1024,值越大,能获得更多的cpu时间

cgset -r cpu.shares=512 small

# cgexec启动一个cgroup任务

matho-primes 0 999999999 > /dev/null &  # 生成一个从0到999999999的质数列表

cgexec -g cpu:small /usr/local/bin/matho-primes 0 999999999 > /dev/null & # 后台运行

# 使用top命令查看发现cpu被100%占用,因为是一个单独的进程,它使用尽可能多的cpu

# cgroups限制仅在两个或多个以上进程竞争cpu资源时起作用

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

6726 root      20   0    9208   2540    488 R  99.9  0.0   0:34.47 matho-primes

cgexec -g cpu:large /usr/local/bin/matho-primes 0 9999999999 > /dev/null

cgexec -g cpu:small /usr/local/bin/matho-primes 0 9999999999 > /dev/null

cgexec -g cpu:small /usr/local/bin/matho-primes 0 9999999999 > /dev/null

# 在small组中起两个matho-primes进程,然后top观察cpu时间

# small组两个matho-primes进程差不多共享cpu,large组的进程得到更多的cpu时间

下次打算将cgroups应用到我们的计算存储一体机上,用来限制glusterfs进程和nova-compute,避免存储服务和计算服务抢占cpu等资源。

centos7限制cpu使用_Centos7 - 使用cgroups限制进程资源相关推荐

  1. centos7限制cpu使用_CentOS7 CPU隔离配置

    1. 修改grub CentOS7中grub存放位置在:/etc/default/grub 初始内容如下: 1 [root@dellserver default]# catgrub2 GRUB_TIM ...

  2. centos7限制cpu使用_CentOS7中CPU频率调整问题

    cpufreq使用了新的intel_pstate驱动造成的困惑,详细解答在这里 Take a look at this discussion: https://plus.google.com/1170 ...

  3. Linux CentOs7 监控CPU 内存 硬盘IO读写,网络负载,CPU温度等

    一般我们都知道TOP命令可以加载服务器的负载详情,但界面不太友好.因此用到htop 我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而 ...

  4. centos7 查看cpu使用率

    在 CentOS 中,可以通过 top命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 - 用基于 top的命令,可以控制显示方式等等.退出 ...

  5. Linux 操作系统原理 — cgroups 进程资源配额与管理

    目录 文章目录 目录 cgroups cgroups 的子系统 cgroups 的层级结构 cgroups 与进程 cgroups 与文件系统 cgroups 的使用 挂载 cgroups File ...

  6. 操作系统:Java模拟CPU调度算法(非抢占短进程优先、可抢占优先权调度、多级反馈队列调度)

    本人是个普通学生,写下博客用于自我复习.自我总结. 本人编写算法水平不高,仅供各位参考. 首先,先简述一下各个算法的定义.因为我个人在查阅算法相关信息时,发现这些算法在某种程度上来说,可能会存在一些歧 ...

  7. 360bpsvc一直占用电脑大量cpu,任务管理器也无法结束进程这个进程、360bpsvc也无法卸载的解决办法:

    360bpsvc一直占用电脑大量cpu,任务管理器也无法结束进程这个进程.360bpsvc也无法卸载的解决办法: 情况描述:最近一开机电脑风扇声特别大,点开任务管理器看了一下进程,发现是这个360bp ...

  8. 关于CPU的核心和线程与进程的不同

    关于CPU的核心和线程与进程的不同 cpu核心 进程和线程之间的区别 单线程和多线程 CPU的指令集架构 cpu核心 最近的CPU,一个CPU插座有多个核心(实际进行处理的零部件). 例如,在名为In ...

  9. CentOS7查看CPU和内存情况

    本文简单介绍在CentOS7上查看CPU和内存情况. 查看CPU情况 以下是个人工作会经常使用到的服务器的信息. 查看所有CPU信息 可以通过如下命令查看所有CPU信息: # cat /proc/cp ...

最新文章

  1. 什么时候使用webservice1
  2. codeproject网页翻译
  3. chrome 适配调试_终于明白怎么用Chrome开发适配各种移动端屏幕尺寸了
  4. vlc 视频流跳数_如何解决在播放高清晰度视频文件的VLC中跳过和滞后的问题
  5. 【剑指offer】面试题53 - 1:在排序数组中查找数字 I(java)
  6. python装饰器性能_python装饰器的特性原理详解
  7. 在php中使用cookie,PHP中如何使用Cookie
  8. Smoothy将于4月22日-27日在BSCPad等4个平台进行IDO
  9. infiniband, fiber channel,RDMA
  10. ADT下载地址(含各版本),最新ADT-23.0.6
  11. 数据分析师岗位需求数据分析
  12. 自然基金项目爬虫测试(已失效)
  13. linux安装nginx、php、mysql搭建网站
  14. 区块链的未来发展前景
  15. 游戏音乐怎样达到阴阳平衡?
  16. 【数据说第九期】如何分析用户行为数据,来驱动业务增长?
  17. 工信部规范云服务市场经营行为 概念股望爆发
  18. 国标28181:jrtplib从编译到使用
  19. 从异常堆栈中还原 ProGuard 混淆过的代码
  20. python修改pdf文件名称_使用Python重命名pdf文件目录几乎可以工作

热门文章

  1. Windows Server Version 1709 管理之入门篇
  2. 为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能
  3. QingStor分布式存储全线升级:自研需要勇气,成功还要看实力
  4. 京东发布“下一代智能协同开放平台”战略 助力政企数字化转型
  5. latex导数_Latex:导数【高中常用公式】
  6. python项目部署访问特别卡_【python新人求助】flask+pymssql 通过wsgi发布到Apache,访问接口服务器卡死?...
  7. linux ubuntu php,linux ubuntu安装php运行环境
  8. android 浏览器 pc一样大小,手机端不同浏览器[主流的,包括Android自带]对cookie的不同限制,如个数和大小,如何查看?...
  9. SpringCloudGateway 集成 nacos 整合实现动态路由_04
  10. 企业实战_01_ Mycat 主要作用_01