0

0

Linux进程资源限制如何配置_cgroups基础应用【指导】

舞夢輝影

舞夢輝影

发布时间:2025-12-17 23:05:04

|

641人浏览过

|

来源于php中文网

原创

Linux中进程资源限制主要通过cgroups v2实现,挂载于/sys/fs/cgroup,支持内存(memory.max)、CPU(cpu.max)等精细化控制,并可通过systemd持久化配置及接口文件实时监控。

linux进程资源限制如何配置_cgroups基础应用【指导】

Linux中进程资源限制主要通过cgroups(control groups)实现,它能对CPU、内存、IO等资源进行精细化分组管理。配置cgroups不依赖第三方工具,现代Linux发行版(如CentOS 7+/Ubuntu 16.04+)默认启用cgroups v2,推荐优先使用v2统一接口。

确认cgroups版本与挂载点

cgroups v2通常挂载在/sys/fs/cgroup,且为单一层级结构。运行以下命令验证:

  • cat /proc/cgroups:若第三列(enabled)全为1,且name=字段为空,说明v2已启用
  • mount | grep cgroup:应看到cgroup2 on /sys/fs/cgroup type cgroup2
  • 若看到多个cgroup挂载点(如/sys/fs/cgroup/cpu),说明系统运行在v1兼容模式,需检查systemd配置或内核启动参数(systemd.unified_cgroup_hierarchy=1

创建并配置资源控制组(v2)

以限制某个后台服务的内存和CPU为例:

Tellers AI
Tellers AI

Tellers是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。

下载
  • 新建子目录:sudo mkdir /sys/fs/cgroup/myapp
  • 限制内存上限为512MB:echo 536870912 | sudo tee /sys/fs/cgroup/myapp/memory.max
  • 限制CPU使用率不超过2个逻辑核心(即200%):echo 200000 | sudo tee /sys/fs/cgroup/myapp/cpu.max(格式为quota period,默认period=100000微秒,200000表示200ms/100ms)
  • 将进程加入该组:echo $PID | sudo tee /sys/fs/cgroup/myapp/cgroup.procs(PID为要限制的进程ID)

持久化配置(避免重启失效)

手动写入/sys/fs/cgroup仅临时生效。生产环境建议用systemd管理:

  • 为服务单元添加资源限制:编辑/etc/systemd/system/myapp.service,在[Service]段下添加:
  • MemoryMax=512M
  • CPUQuota=200%
  • IOWeight=50(可选,限制IO权重)
  • 重载配置:sudo systemctl daemon-reload && sudo systemctl restart myapp

监控与调试技巧

实时查看资源使用情况可直接读取cgroup接口文件:

  • 当前内存使用:cat /sys/fs/cgroup/myapp/memory.current
  • 内存使用峰值:cat /sys/fs/cgroup/myapp/memory.peak
  • CPU时间统计:cat /sys/fs/cgroup/myapp/cpu.stat(含usage_usec、nr_periods等)
  • 若进程被OOM Killer终止,检查memory.events中的oom_kill计数

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1026

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

453

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号