在 Linux 中使用 pidstat 命令监控进程性能
一、安装 pidstat
命令
1、检查系统是否已经安装了 pidstat
打开终端,输入以下命令检查是否已经安装了 pidstat
:
如果显示版本信息,说明已经安装,可以跳过安装步骤。如果提示找不到命令,那么继续下一步安装。
2、更新包管理器 在安装 pidstat
前,建议先更新系统的包管理器来获取最新的软件包列表。可以使用以下命令:
对于基于 Debian
或 Ubuntu
的系统:
对于基于 Red Hat
、CentOS
或 Fedora
的系统:
3、安装 sysstat 包 pidstat
是 sysstat
工具包的一部分,因此我们需要安装 sysstat
来获取 pidstat
。
对于基于 Debian
或 Ubuntu
的系统:
对于基于 Red Hat
、CentOS
或 Fedora
的系统:
4、验证安装 安装完成后,验证 pidstat
是否已经成功安装:
你应该看到类似以下的输出,表示 pidstat
已经安装成功:
二、使用 pidstat
监控进程
pidstat
可以监控多个指标,如 CPU 使用率、内存使用情况、I/O 操作等。接下来,我们将详细介绍如何使用不同的选项来监控进程。
1. 查看 CPU 使用情况
要查看所有进程的 CPU 使用情况,使用以下命令:
这将显示每个进程的 CPU 使用率,输出结果包括以下信息:
PID
: 进程 ID。%usr
: 用户态 CPU 使用率。%system
: 内核态 CPU 使用率。%CPU
: 总的 CPU 使用率。
如果你想在一段时间内持续监控进程的 CPU 使用情况,可以使用以下格式的命令:
这意味着每隔 2 秒刷新一次数据,共显示 5 次。可以根据需要调整刷新间隔和次数。
2. 查看指定进程的 CPU 使用情况
要查看某个特定进程的 CPU 使用情况,假设进程的 PID 为 1234
,可以使用以下命令:
这将只显示该进程的 CPU 使用情况。
3. 查看内存使用情况
要查看所有进程的内存使用情况,可以使用 -r
选项:
这将显示以下与内存相关的信息:
minflt/s
: 每秒次级页面错误数。majflt/s
: 每秒主页面错误数。VSZ
: 虚拟内存大小。RSS
: 驻留集大小。
同样,如果你想在一段时间内持续监控进程的内存使用情况,可以指定时间间隔和次数:
这意味着每隔 2 秒刷新一次内存使用情况,共显示 5 次。
4. 查看 I/O 操作
要监控进程的 I/O 操作,可以使用 -d
选项:
这将显示以下与 I/O 操作相关的信息:
kB_rd/s
: 每秒从磁盘读取的数据量。kB_wr/s
: 每秒写入磁盘的数据量。kB_ccwr/s
: 取消写入的千字节数(由于缓存)。
你也可以指定刷新间隔和次数:
这意味着每隔 2 秒刷新一次 I/O 操作数据,共显示 5 次。
5. 查看线程信息
pidstat
还可以监控每个进程的线程使用情况,使用 -t
选项可以显示线程级别的监控信息:
这会显示每个进程的线程详细信息,包括线程 ID (TID
)、线程 CPU 使用率等。
6. 保存监控数据
如果你希望将监控数据保存到文件中,可以使用重定向符将输出写入文件。例如,将 CPU 使用情况保存到 cpu_usage.txt
中:
这样你可以在稍后查看该文件中的数据。
三、结合其他选项
你可以组合使用 pidstat
的多个选项。例如,监控某个特定进程的 CPU、内存和 I/O 使用情况,假设进程 ID 为 1234
,可以使用以下命令:
这将显示进程 1234
的 CPU、内存和 I/O 使用情况。
四、定时任务监控
如果你需要长时间监控进程,可以结合 cron
或 nohup
命令使用。例如,使用 nohup
运行以下命令,使其在后台持续运行,并将输出保存到 monitor.log
:
这将每隔 2 秒记录一次系统的进程信息,持续 1000 次,并将输出记录到 monitor.log
文件中。你可以通过 tail -f monitor.log
实时查看日志文件的更新。
文章转载自:风轻雪棉
评论