Linux 怎么使用 pidstat 监控分布式集群节点的性能开销

舞夢輝影

舞夢輝影

2026-08-04

425人浏览

原创

pidstat 仅支持单机监控,需结合远程执行与聚合分析实现跨节点监控;须在各节点安装 sysstat,用 pgrep 动态获取 pid,通过 ssh/pdsh/ansible 批量采集,并辅以 -h、-h 参数及多维指标交叉验证定位真实瓶颈。

linux 怎么使用 pidstat 监控分布式集群节点的性能开销

pidstat 本身不直接支持跨节点监控,它只作用于当前 Linux 主机。要监控分布式集群节点的性能开销,需将 pidstat 作为单节点采集工具,配合远程执行与聚合分析机制来实现。

在每个节点上部署 pidstat 采集

确保所有集群节点都已安装 sysstat(含 pidstat):

  • Ubuntu/Debian:sudo apt install sysstat
  • RHEL/CentOS/Fedora:sudo yum install sysstatsudo dnf install sysstat

验证可用性:pidstat -V。建议启用 sysstat 的系统级轮询(/etc/default/sysstat 中设 ENABLED="true"),便于事后回溯历史数据。

按需选择进程并动态获取 PID

集群服务(如 Kafka broker、etcd、TiKV、Flink TaskManager)常以多实例或动态端口方式运行,不宜硬编码 PID。推荐用 pgrep 精准匹配:

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载
  • 匹配完整启动命令(含参数):pgrep -f "java.*kafka.Kafka"
  • 匹配进程名并输出 PID+命令:pgrep -l "redis-server"
  • 组合使用避免漏采:pidstat -p "$(pgrep -f 'python.*airflow')" -ur 2(每 2 秒采 CPU+内存)

注意:若一个服务有多个 worker 进程,pidstat 支持传入多个 PID(空格分隔),会自动合并输出,无需循环调用。

远程批量执行与结果收集

借助 SSH 批量拉取各节点指标,例如监控所有节点上 Java 进程的 CPU 和内存占用:

  • 写简短脚本遍历节点列表:for node in node1 node2 node3; do echo "== $node =="; ssh "$node" "pidstat -p \$(pgrep java) -ur 1 3 | tail -n +4"; done
  • 用 pdsh、clustershell 或 Ansible 实现并行执行,提升效率
  • 关键建议:加 -h 参数让内存单位自动转为 M/G,加 -H 输出高精度时间戳,便于对齐多节点时序

识别真实瓶颈而非表面数值

分布式场景下,单看 %CPU 或 RSS 容易误判。需结合上下文交叉验证:

  • %CPU 接近 100%?检查是否单核打满(CPU 列显示具体核号),还是多线程分散在多个核——此时总和可能达 300+;
  • RSS 持续上涨?用 pidstat -p PID -r -H 1 观察趋势,并同步查 cat /proc/PID/status | grep -E "(VmRSS|MmuPageSize)",排除透明大页(THP)导致的虚高;
  • I/O 延迟高?先用 pidstat -d 看进程级读写速率,再结合 iostat -x 1 确认设备级 await、%util 是否异常;
  • 上下文切换频繁?pidstat -wnvcswch/s(非自愿切换)突增,往往指向锁竞争或 CPU 资源争抢,常见于高并发 RPC 服务节点。

真正有效的集群性能监控,是把 pidstat 当作“进程显微镜”,配合节点发现、时间对齐、阈值告警和横向对比,才能从一堆数字里揪出那个拖慢整个链路的异常节点。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

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

2023.06.21

2669

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

1647

10

linux find
linux find

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

2023.06.30

1293

5

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

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

2023.07.05

2632

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

2393

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

1638

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

1229

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

1399

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

209

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 125人学习