博客
关于我
Linux内核cgroup使用介绍
阅读量:790 次
发布时间: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使用g++
    查看>>
    linux使用tar解压出现 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not 的解决方法
    查看>>
    Linux使用XVFB做Selenium测试
    查看>>
    Linux信号量编程实例
    查看>>
    Linux修改root用户名,密码及别名
    查看>>
    Linux修改了/etc/profile 文件后进不去系统的解决方法
    查看>>
    Linux修改本地时间
    查看>>
    Linux入门——权限
    查看>>
    Linux入门之软件包管理yum的使用
    查看>>
    Linux入门基础——系统组成及版本介绍
    查看>>
    Linux入门必备:基础指令详解
    查看>>
    Linux关机与重启
    查看>>
    Linux关机总结
    查看>>
    linux关机重启命令
    查看>>
    linux关闭不了pdf,Linux关闭和重启的命令.pdf
    查看>>
    linux关闭端口
    查看>>
    Linux内存状态分析实战
    查看>>
    Linux内存监控的12种方法全面掌握系统资源使用情况
    查看>>
    linux内存管理之RSS和VSZ的区别
    查看>>
    linux内存管理-内核用户空间 【转】
    查看>>