Linux怎么使用pidstat查看某个进程的IO读写速度

老浩吖_1748

老浩吖_1748

2026-10-13

917人浏览

原创

pidstat -d 必须指定采样间隔(如 pidstat -d 1),否则立即退出无输出;可用 pgrep 动态获取 pid,真实 io 速率看 rkb/s 和 wkb/s 两列。

linux怎么使用pidstat查看某个进程的io读写速度

pidstat -d 必须带采样间隔,否则命令秒退

只输 pidstat -d 会立即执行并退出,看不到任何动态 IO 数据。必须指定采样间隔(单位:秒),比如 pidstat -d 1 表示每秒刷新一次。不写间隔参数,pidstat 就当你要查“历史快照”,而非实时监控。

常见错误操作:

  • pidstat -d → 空输出后直接返回 shell
  • pidstat -d 0 → 内核级高频采样,终端卡死、系统负载飙升,甚至触发 OOM
  • pidstat -d -p 1234(没写间隔)→ 同样秒退,什么也看不到

怎么精准锁定目标进程的 PID 而不靠手动 grep

用 ps aux | grep xxx 抄 PID 容易抄错、漏多实例、被干扰项污染。更可靠的是用 pgrep 动态提取:

  • 匹配完整命令行(推荐):pidstat -d 2 -p "$(pgrep -f 'java.*-Dspring')"
  • 只匹配进程名(简单场景):pidstat -d 1 -p "$(pgrep nginx)"
  • 多个 PID 一起查没问题:pidstat -d 1 -p "$(pgrep -f 'redis|mysql')"

注意:pgrep -f 匹配的是整个启动命令,大小写敏感;若返回空,先确认进程是否真在运行、名字有无空格或特殊字符。

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载

看哪两列才代表真实 IO 速率

输出中真正反映“当前每秒读写多少 KB”的只有 rkB/s 和 wkB/s。其他字段容易误导:

  • rd_sec/s / wr_sec/s 是扇区数(512 字节/扇区),需手动 ÷2 才是 KB,新版 sysstat 默认已弃用,优先认 rkB/s
  • %MEM、RSS 是内存字段,和磁盘 IO 完全无关
  • kB_ccwr/s 是取消写入量,一般为 0,异常升高说明进程在频繁截断脏页缓存,不是常规 IO 流量

加 -l 参数能显示完整命令路径,避免只看到 java 却分不清是哪个服务在刷盘。

为什么看到高 rkB/s 却没业务读操作?可能不是你写的代码

持续高 rkB/s 不一定来自业务逻辑,常见干扰源:

  • 日志轮转脚本(如 logrotate)正在压缩/归档旧日志文件
  • 数据库备份任务(mysqldump、pg_dump)在读取数据文件
  • JVM 或应用自身触发的 GC 日志、堆 dump 写入前的元数据扫描
  • 容器环境里,上层存储驱动(如 overlay2)在做 copy-on-write 或 layer diff 计算

这时候要结合 pidstat -d -r 1 看内存缺页(Majflt/s)、pidstat -d -u 1 看 CPU 占用,交叉验证是不是 IO 密集型行为——如果 %CPU 很低但 rkB/s 很高,基本可以排除是你的代码在主动读,而是后台机制在拉数据。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

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

相关专题

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

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

2023.06.21

3970

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3393

10

linux find
linux find

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

2023.06.30

2573

5

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

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

2023.07.05

6210

7

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

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

2023.07.06

5862

7

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

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

2023.07.20

3433

8

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

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

2023.07.20

2925

4

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

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

2023.07.25

3139

6

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

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

2023.07.31

297

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习