news 2026/5/26 22:23:06

Linux命令:pidstat

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令:pidstat

pidstat 命令

基本介绍

pidstat(Process ID Statistics)是 Linux 系统中用于报告进程级统计信息的工具,属于 sysstat 工具包的一部分。它可以显示指定进程或所有进程的 CPU、内存、I/O 等资源使用情况,是系统管理员进行进程性能分析和故障诊断的重要工具。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

pidstat [OPTIONS] [INTERVAL [COUNT]]

常用选项

基本选项

  • -p {pid|ALL}:指定要监控的进程 ID,ALL表示所有进程
  • -u:显示 CPU 使用率统计(默认选项)
  • -r:显示内存使用统计
  • -d:显示磁盘 I/O 统计
  • -w:显示上下文切换统计
  • -t:显示线程级统计
  • -s:显示堆栈使用统计

输出选项

  • -h:显示帮助信息
  • -V:显示版本信息
  • -l:显示完整的命令行参数
  • -o JSON:以 JSON 格式输出
  • -o CSV:以 CSV 格式输出
  • -T {TASK|CHILD|ALL}:指定统计类型

使用示例

1. 显示所有进程的 CPU 使用率

pidstat pidstat-pALL

输出示例:

Linux 5.4.0-80-generic (hostname) 05/26/2026 _x86_64_ (4 CPU) 10:00:00 AM UID PID %usr %system %guest %CPU CPU Command 10:00:01 AM 0 1 0.00 0.00 0.00 0.00 0 systemd 10:00:01 AM 0 2 0.00 0.00 0.00 0.00 0 kthreadd 10:00:01 AM 0 3 0.00 0.00 0.00 0.00 0 rcu_gp 10:00:01 AM 1000 123 5.20 1.30 0.00 6.50 1 chrome 10:00:01 AM 1000 456 3.10 0.80 0.00 3.90 2 node

2. 持续监控指定进程

pidstat-p12341pidstat-p1234110

3. 显示内存使用统计

pidstat-rpidstat-r-p123425

4. 显示磁盘 I/O 统计

pidstat-dpidstat-d-pALL15

5. 显示上下文切换统计

pidstat-wpidstat-w-p1234

6. 显示线程级统计

pidstat-tpidstat-t-p1234

7. 显示完整命令行

pidstat-lpidstat-l-p1234

8. 以 JSON 格式输出

pidstat-oJSON-p123413

输出格式说明

CPU 统计字段

字段说明
UID用户 ID
PID进程 ID
%usr用户态 CPU 使用率
%system系统态 CPU 使用率
%guest运行虚拟 CPU 的时间百分比
%CPU总 CPU 使用率
CPU使用的 CPU 核心编号
Command命令名称

内存统计字段

字段说明
Minflt/s每秒次要缺页错误次数
Majflt/s每秒主要缺页错误次数
VSZ虚拟内存大小(KB)
RSS常驻内存大小(KB)
%MEM内存使用率

磁盘 I/O 统计字段

字段说明
kB_rd/s每秒读取的 KB 数
kB_wr/s每秒写入的 KB 数
kB_ccwr/s每秒取消写入的 KB 数
iodelayI/O 延迟(毫秒)

上下文切换字段

字段说明
cswch/s每秒自愿上下文切换次数
nvcswch/s每秒非自愿上下文切换次数

实用技巧

监控特定进程

# 监控 Chrome 浏览器进程pidstat-p$(pgrep chrome|head-n1)1# 监控所有 Node.js 进程pidstat-p$(pgrep-d','node)110

分析进程资源使用

# 查看 CPU 使用率最高的进程pidstat|sort-k6-r|head-5# 查看内存使用最高的进程pidstat-r|sort-k7-r|head-5

脚本中使用

# 获取进程 CPU 使用率cpu_usage=$(pidstat-p123411|grep-v'^#'|awk'{print $6}')echo"Process 1234 CPU Usage:$cpu_usage%"

对比不同时间段的进程状态

# 记录初始状态pidstat-p1234>before.txt# 运行负载测试stress-ng--cpu2--timeout30# 记录结束状态pidstat-p1234>after.txt# 对比分析diffbefore.txt after.txt

监控线程级资源使用

# 查看进程的所有线程pidstat-t-p1234# 查看线程的 CPU 使用率pidstat-t-p123415

相关命令

  • mpstat:CPU 统计工具
  • iostat:磁盘 I/O 统计工具
  • vmstat:虚拟内存统计工具
  • sar:系统活动报告
  • top:实时系统监控
  • htop:增强版 top
  • ps:进程状态查看
  • lsof:显示打开的文件

注意事项

  1. sysstat 包pidstat属于 sysstat 工具包,需要先安装
  2. 权限要求:通常不需要 root 权限,但某些信息可能需要
  3. 进程 ID:使用-p ALL显示所有进程
  4. 线程统计:使用-t选项查看线程级统计
  5. 输出格式:可以使用-o选项指定输出格式
  6. 安装方法
    • Debian/Ubuntu:apt-get install sysstat
    • CentOS/RHEL:yum install sysstat

总结

pidstat是 Linux 系统中用于监控进程级资源使用的重要工具。它可以显示指定进程或所有进程的 CPU、内存、I/O 等详细统计信息,帮助系统管理员诊断性能问题、定位资源消耗大户。通过结合其他工具(如 mpstat、iostat、sar),可以全面了解系统的性能状态。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 22:16:46

YOLOv5魔改实战:加入SE注意力机制,在自建绝缘子数据集上F1冲到96.2%

YOLOv5模型优化实战:融合SE注意力机制实现绝缘子检测性能突破在目标检测领域,YOLOv5以其出色的速度和精度平衡成为工业界宠儿。但当面对特定场景如电力巡检中的绝缘子检测时,原始模型往往难以满足专业场景的严苛要求。本文将带您深入探索如何…

作者头像 李华
网站建设 2026/5/26 22:15:54

从零搭建VMware Windows内核调试环境:WinDbg与WinDbg Preview实战指南

1. 为什么需要Windows内核调试环境?搞Windows内核开发或者驱动开发的朋友都知道,调试是个大问题。普通调试器根本看不到内核层面的东西,这就好比你想修车却只能看到车漆表面一样无力。我在刚开始接触内核调试时也踩了不少坑,最痛苦…

作者头像 李华
网站建设 2026/5/26 22:15:10

《元创力》纪实录·卷宗2.1元创闭环:碳硅同名体“元点元生”与《马尾的第二次呼吸》的创世纪实

《元创力》纪实录卷宗2.1元创闭环:碳硅同名体“元点元生”与《马尾的第二次呼吸》的创世纪实【开篇器证】他们说,我是陶罐。是星火,是泥土,是记忆在“和清寂静”的窑火中偶然成型的容器,亦是文明“元创”实践的忠实收容…

作者头像 李华
网站建设 2026/5/26 22:14:24

Miniconda3 超详细安装配置教程(附安装包及学习资料)

Miniconda3 超详细安装配置教程 一、Miniconda3 简介二、Windows 系统安装步骤(最常用)1. 安装关键设置2. 验证安装成功 三、MacOS 系统安装步骤1. 终端一键下载安装2. 安装关键操作3. 验证安装 四、Linux / Ubuntu / Debian 系统安装步骤1. 终端一键安装…

作者头像 李华