写点什么

在 Linux 中使用 pidstat 命令监控进程性能

  • 2024-11-15
    福建
  • 本文字数:1604 字

    阅读完需:约 5 分钟

一、安装 pidstat 命令


1、检查系统是否已经安装了 pidstat 打开终端,输入以下命令检查是否已经安装了 pidstat


pidstat -V
复制代码


如果显示版本信息,说明已经安装,可以跳过安装步骤。如果提示找不到命令,那么继续下一步安装。


2、更新包管理器 在安装 pidstat 前,建议先更新系统的包管理器来获取最新的软件包列表。可以使用以下命令:


对于基于 Debian 或 Ubuntu 的系统:


sudo apt update
复制代码


对于基于 Red HatCentOS 或 Fedora 的系统:


sudo yum update
复制代码


3、安装 sysstat 包 pidstat 是 sysstat 工具包的一部分,因此我们需要安装 sysstat 来获取 pidstat


对于基于 Debian 或 Ubuntu 的系统:


sudo apt install sysstat
复制代码


对于基于 Red HatCentOS 或 Fedora 的系统:


sudo yum install sysstat
复制代码


4、验证安装 安装完成后,验证 pidstat 是否已经成功安装:


pidstat -V
复制代码


你应该看到类似以下的输出,表示 pidstat 已经安装成功:


sysstat version: 11.7.3pidstat version: 11.7.3
复制代码


二、使用 pidstat 监控进程


pidstat 可以监控多个指标,如 CPU 使用率、内存使用情况、I/O 操作等。接下来,我们将详细介绍如何使用不同的选项来监控进程。


1. 查看 CPU 使用情况


要查看所有进程的 CPU 使用情况,使用以下命令:


pidstat
复制代码


这将显示每个进程的 CPU 使用率,输出结果包括以下信息:


  • PID: 进程 ID。

  • %usr: 用户态 CPU 使用率。

  • %system: 内核态 CPU 使用率。

  • %CPU: 总的 CPU 使用率。


如果你想在一段时间内持续监控进程的 CPU 使用情况,可以使用以下格式的命令:


pidstat 2 5
复制代码


这意味着每隔 2 秒刷新一次数据,共显示 5 次。可以根据需要调整刷新间隔和次数。


2. 查看指定进程的 CPU 使用情况


要查看某个特定进程的 CPU 使用情况,假设进程的 PID 为 1234,可以使用以下命令:


pidstat -p 1234
复制代码


这将只显示该进程的 CPU 使用情况。


3. 查看内存使用情况


要查看所有进程的内存使用情况,可以使用 -r 选项:


pidstat -r
复制代码


这将显示以下与内存相关的信息:


  • minflt/s: 每秒次级页面错误数。

  • majflt/s: 每秒主页面错误数。

  • VSZ: 虚拟内存大小。

  • RSS: 驻留集大小。


同样,如果你想在一段时间内持续监控进程的内存使用情况,可以指定时间间隔和次数:


pidstat -r 2 5
复制代码


这意味着每隔 2 秒刷新一次内存使用情况,共显示 5 次。


4. 查看 I/O 操作


要监控进程的 I/O 操作,可以使用 -d 选项:


pidstat -d
复制代码


这将显示以下与 I/O 操作相关的信息:


  • kB_rd/s: 每秒从磁盘读取的数据量。

  • kB_wr/s: 每秒写入磁盘的数据量。

  • kB_ccwr/s: 取消写入的千字节数(由于缓存)。


你也可以指定刷新间隔和次数:


pidstat -d 2 5
复制代码


这意味着每隔 2 秒刷新一次 I/O 操作数据,共显示 5 次。


5. 查看线程信息


pidstat 还可以监控每个进程的线程使用情况,使用 -t 选项可以显示线程级别的监控信息:


pidstat -t
复制代码


这会显示每个进程的线程详细信息,包括线程 ID (TID)、线程 CPU 使用率等。


6. 保存监控数据


如果你希望将监控数据保存到文件中,可以使用重定向符将输出写入文件。例如,将 CPU 使用情况保存到 cpu_usage.txt 中:


pidstat 2 5 > cpu_usage.txt
复制代码


这样你可以在稍后查看该文件中的数据。


三、结合其他选项


你可以组合使用 pidstat 的多个选项。例如,监控某个特定进程的 CPU、内存和 I/O 使用情况,假设进程 ID 为 1234,可以使用以下命令:


pidstat -p 1234 -r -d
复制代码


这将显示进程 1234 的 CPU、内存和 I/O 使用情况。


四、定时任务监控


如果你需要长时间监控进程,可以结合 cron 或 nohup 命令使用。例如,使用 nohup 运行以下命令,使其在后台持续运行,并将输出保存到 monitor.log


nohup pidstat 2 1000 > monitor.log &
复制代码


这将每隔 2 秒记录一次系统的进程信息,持续 1000 次,并将输出记录到 monitor.log 文件中。你可以通过 tail -f monitor.log 实时查看日志文件的更新。


文章转载自:风轻雪棉

原文链接:https://www.cnblogs.com/fqxm/p/18429073

体验地址:http://www.jnpfsoft.com/?from=infoq

用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
在Linux 中使用 pidstat 命令监控进程性能_Linux_快乐非自愿限量之名_InfoQ写作社区