pidstat - 监控并统计Linux进程的数据
创始人
2024-03-01 14:19:02
0

pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pidstat命令也可以用来监控特定进程的子进程。间隔参数用于指定每次报告间的时间间隔。它的值为0(或者没有参数)说明进程的统计数据的时间是从系统启动开始计算的。

如何安装pidstat

pidstat 是sysstat软件套件的一部分,sysstat包含很多监控linux系统状态的工具,它能够从大多数linux发行版的软件源中获得。

在Debian/Ubuntu系统中可以使用下面的命令来安装

# apt-get install sysstat

CentOS/Fedora/RHEL版本的linux中则使用下面的命令:

# yum install sysstat

使用pidstat

使用pidstat不加任何参数等价于加上-p参数,但是只有正在活动的任务会被显示出来。

# pidstat

pidstat

在结果中你能看到如下内容:

  • PID - 被监控的任务的进程号
  • %usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice 优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。
  • %system - 这个任务在系统层使用时的cpu使用率。
  • %guest - 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。
  • %CPU - 任务总的cpu使用率。在SMP环境(多处理器)中,如果在命令行中输入-I参数的话,cpu使用率会除以你的cpu数量。
  • CPU - 正在运行这个任务的处理器编号。
  • Command - 这个任务的命令名称。

I/O 统计数据

通过使用-d参数来得到I/O的统计数据。比如:

# pidstat -d -p 8472

pidstat io

IO 输出会显示一些内的条目:

  • kB_rd/s - 任务从硬盘上的读取速度(kb)
  • kB_wr/s - 任务向硬盘中的写入速度(kb)
  • kB_ccwr/s - 任务写入磁盘被取消的速率(kb)

页面失败和内存使用

使用-r标记你能够得到内存使用情况的数据。

pidstat pf mem

重要的条目:

  • minflt/s - 从内存中加载数据时每秒出现的小的错误的数目,这些不要求从磁盘载入内存页面。
  • majflt/s - 从内存中加载数据时每秒出现的较大错误的数目,这些要求从磁盘载入内存页面。
  • VSZ - 虚拟容量:整个进程的虚拟内存使用(kb)
  • RSS - 长期内存使用:任务的不可交换物理内存的使用量(kb)

举例

1. 你可以通过使用下面的命令来监测内存使用

# pidstat -r 2 5

这会给你5份关于page faults的统计数据结果,间隔2秒。这将会更容易的定位出现问题的进程。

2. 显示所有mysql服务器的子进程

# pidstat -T CHILD -C mysql

3. 将所有的统计数据结合到一个便于阅读的单一报告中:

# pidstat -urd -h

via: http://linoxide.com/linux-command/linux-pidstat-monitor-statistics-procesess/

作者:Adrian Dinu 译者:John 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

如何在CentOS上安装并...
CentOS Sysstat工具:系统监控与性能分析的利器 在Li...
2025-03-05 06:38:05
pidstat - 监控并...
pidstat命令用来监控被Linux内核管理的独立任务(进程)。...
2024-03-01 14:19:02
Sysstat性能监控工具...
在我们上一篇文章中,我们已经学习了如何去安装和更新sysstat,...
2024-03-01 14:03:21
使用vmstat和iost...
这是我们正在进行的Linux命令和性能监控系列的一部分。vmsta...
2024-03-01 14:02:52
全能冠军:Linux系统性...
Sysstat是一个非常方便的工具,它带有众多的系统资源监控工具,...
2024-03-01 14:02:17

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...