0

0

Linux systemd-cgtop / systemd-cgls 的 cgroup 资源实时监控实践

冰川箭仙

冰川箭仙

发布时间:2026-02-22 19:53:32

|

362人浏览过

|

来源于php中文网

原创

systemd-cgtop 和 systemd-cgls 是 systemd 自带的轻量级 cgroup 监控工具:前者提供类 top 的实时资源排序视图,支持按 cpu、内存、任务数等交互式排序及搜索;后者以树状结构展示 cgroup 层级关系,可配合 --all、--machine 等选项增强实用性;二者均需 root 权限查看全部 cgroup,并依赖 defaultcpuaccounting=yes 和 defaultmemoryaccounting=yes 等配置启用对应计量功能。

linux systemd-cgtop / systemd-cgls 的 cgroup 资源实时监控实践

systemd-cgtopsystemd-cgls 是 systemd 提供的轻量级 cgroup 监控工具,无需额外安装(随 systemd 一起分发),适合快速查看服务、用户会话或容器进程的资源占用情况。它们不依赖 cgroup v2 的复杂接口,对 v1/v2 均有支持(行为略有差异),但需注意:默认只显示当前用户有权限访问的 cgroup 路径,root 权限才能看到全部。

systemd-cgtop:类 top 的实时资源排序视图

它按 CPU、内存、IO 等维度动态排序 cgroup,类似传统 top,但作用对象是 cgroup 而非进程。默认刷新周期 3 秒,支持交互式操作:

  • P 排序 CPU 使用率(%CPU 列),M 排序内存使用(Memory 列),T 排序任务数(Tasks 列)
  • F 进入字段选择模式,可开启/关闭 IO、Swap、CPUAccounting 等列(需对应 cgroup 层级已启用 accounting)
  • / 可搜索匹配路径名(如输入 nginx 快速定位 nginx.service)
  • 若发现某 service 占用异常高,可结合 systemctl status xxx.service 查看其状态与最近日志

注意:systemd-cgtop 显示的内存值为 memory.current(v2)或 memory.usage_in_bytes(v1),不含 page cache;若未启用 memory accounting,该列将显示 N/A —— 此时需先在 /etc/systemd/system.conf 中设置 DefaultMemoryAccounting=yes 并重启 PID 1。

systemd-cgls:树状结构展示 cgroup 层级关系

它以缩进形式呈现当前系统中活跃的 cgroup 树,默认从 /sys/fs/cgroup 根开始,聚焦于 systemd 托管单元(.service、.scope、.slice)。常用组合提升实用性:

大师兄智慧家政
大师兄智慧家政

58到家打造的AI智能营销工具

下载
  • systemd-cgls --all:显示所有 cgroup,包括无 name= 的匿名 scope(如临时用户会话、podman run 启动的容器)
  • systemd-cgls --machine:仅列出 systemd-machined 管理的虚拟机/容器(如 systemd-nspawn 或 machinectl 启动的实例)
  • systemd-cgls --no-pager:禁用分页器,方便配合 grep 筛选,例如:
    systemd-cgls --all | grep -A5 "myapp\.service"
  • 路径末尾带 @ 表示动态生成的 scope(如 ssh 登录会话、后台脚本启动的临时组),不对应 unit 文件,生命周期由父进程决定

权限与 accounting 启用的关键前提

这两个命令能否显示完整数据,取决于三方面配置:

  • 权限:普通用户只能看到自身 user slice(/user.slice/user-1000.slice)及子 cgroup;要查看 system.slice,必须以 root 运行或加入 systemd-journal 组并配置 polkit 规则
  • CPUAccounting:在 /etc/systemd/system.conf 中设 DefaultCPUAccounting=yes,否则 CPU 列恒为 0
  • MemoryAccounting:同理设 DefaultMemoryAccounting=yes,否则 Memory 列为 N/A;cgroup v2 下还需确认内核启动参数含 systemd.unified_cgroup_hierarchy=1(现代发行版默认启用)

修改后需执行 sudo systemctl daemon-reload && sudo systemctl restart systemd-logind(对 user slice 生效)或 sudo reboot(确保全局生效)。

结合 journalctl 定位资源突增根源

systemd-cgtop 发现某 cgroup 突然飙高,可快速关联日志排查:

  • journalctl -u nginx.service -S "2024-06-15 14:00:00":查指定服务近期日志
  • journalctl _PID=12345:查某个具体进程(从 cgls 输出中获取 PID)的完整上下文
  • journalctl -t systemd-cgroups-agent:查看 cgroup 创建/销毁事件(需启用 debug 日志)

对于短生命周期的 scope(如 cron 启动的备份脚本),可用 systemd-run --scope --scope-prefix=backup-tasks /path/to/script.sh 显式命名,便于后续在 cgls/cgtop 中识别和追踪。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

240

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

518

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

567

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

242

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

561

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3606

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

67

2026.01.13

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1030

2026.02.13

热门下载

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

精品课程

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

共48课时 | 9.5万人学习

Git 教程
Git 教程

共21课时 | 3.8万人学习

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

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