博客
关于我
Linux内核cgroup使用介绍
阅读量:793 次
发布时间:2023-02-03

本文共 1327 字,大约阅读时间需要 4 分钟。

cgroup基本概念

cgroup是什么

cgroups(控制组)是一种Linux内核模块,用于对系统进程进行分组化管理的功能。它允许系统管理员对一组进程进行统一的资源管理和限制,从而更好地控制系统资源的分配和使用。

cgroup解决的问题

在Linux系统中,进程之间的资源竞争可能导致资源分配不均,部分场景下需要对重要进程进行资源保护。cgroups的引入解决了这一问题,通过对进程进行分组,可以限制每个组的资源使用,如内存、CPU、磁盘IO等,从而保障关键进程的稳定运行。

cgroup的主要功能

  • 资源限制:设置进程组对特定资源的使用上限,如内存使用限制。
  • 优先级控制:通过CPU和磁盘IO限制,确保某些进程获得更高的资源优先级。
  • 资源统计:提供资源使用统计信息,便于审计和分析。
  • 进程控制:支持进程的暂停和恢复,用于资源调度。
  • cgroup适用的场景

  • 资源预分配:确保重要进程获得足够的资源。
  • 进程隔离:将一组进程单独管理,如Nginx等服务进程。
  • 资源限制:为进程组设置内存、CPU、磁盘存储等使用限制。
  • 网络和设备管理:限制进程对网络带宽和特定设备的访问。
  • cgroup能够操控的资源

    • CPU使用率
    • 内存使用限制
    • 磁盘IO吞吐量
    • 网络带宽
    • 设备访问权限
    • 进程数量限制
    • HugePages使用限制
    • 性能事件监控

    cgroup的结构

    cgroups的组织架构包括:

  • Hierarchy:层级结构,支持嵌套管理。
  • Attributes:每个cgroup节点包含一系列属性,如task和资源子系统配置。
  • Subsystems:提供具体资源控制功能,目前支持12种子系统,如cpumemorycpuset等。
  • cgroup支持的子系统

  • cpu:限制CPU使用率。
  • cpuacct:统计CPU使用情况。
  • cpuset:绑定CPU和NUMA节点。
  • memory:管理内存使用。
  • devices:限制设备访问权限。
  • freezer:控制进程暂停和恢复。
  • net_cls:管理网络包类别标记。
  • blkio:限制块设备IO速度。
  • perf_event:性能事件监控。
  • net_prio:网络接口访问优先级。
  • hugetlb:管理HugePages使用。
  • pids:限制进程总数。
  • cgroup文件系统挂载

    cgroups基于内核虚拟文件系统操作,挂载后可在/sys/fs/cgroup目录下管理。操作步骤如下:

  • 创建挂载目录,如mkdir /my/cgroup
  • 挂载命令:mount -t cgroup ...
  • 查看cgroup内容

    进入cgroups目录可看到各组进程信息,如/etc/cgroups下的各个cgroup文件夹。

    查看进程所属cgroup

    使用ps命令查看进程组信息,如ps -cgroup

    cgroup实例

    例如,限制Nginx进程使用50%的CPU:

  • 创建cgroup:mkdir -p /my/cgroup/nginx.
  • 配置CPU限制:echo 50 > /my/cgroup/nginx/cpuset.cfs_period_us.
  • 挂载并运行Nginx。
  • 通过这些操作,管理员可以更好地管理系统资源,保障关键服务的稳定运行。

    转载地址:http://qtzfk.baihongyu.com/

    你可能感兴趣的文章
    Linux下安装配置JDK
    查看>>
    linux下实现dlna识别当前音频格式,DLNA音频推流新选择——upmpdcli
    查看>>
    linux下实现日志切割的两种方法 logrotate
    查看>>
    Linux下彻底卸载mysql详细分析
    查看>>
    Linux下拆分大文件
    查看>>
    linux下搭建vsftpd服务器
    查看>>
    Linux下显示硬盘空间的两个命令
    查看>>
    linux下查看cpu物理个数和逻辑个数
    查看>>
    linux下查看redis是否正常运行 和设置密码
    查看>>
    linux下查看动态链接库so文件的依赖的相关组建
    查看>>
    Linux下查看文件内容的常见命令
    查看>>
    Linux下查看文件夹及其文件大小
    查看>>
    Linux下查看用户列表
    查看>>
    linux下查询硬件的命令
    查看>>
    Linux下汇编语言学习笔记53 ---
    查看>>
    Linux下添加服务
    查看>>
    Linux下环境变量设置
    查看>>
    Linux下用mutt给QQ邮箱发匿名邮件
    查看>>
    Linux下用脚本命令打开文档、表格、PPT
    查看>>
    LINUX下登录脚本的执行顺序
    查看>>