一、安装 pidstat 命令

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

    pidstat -V

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

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

    对于基于 DebianUbuntu 的系统:

    sudo apt update

    对于基于 Red HatCentOSFedora 的系统:

    sudo yum update
  3. 安装 sysstat 包 pidstatsysstat 工具包的一部分,因此我们需要安装 sysstat 来获取 pidstat

    对于基于 DebianUbuntu 的系统:

    sudo apt install sysstat

    对于基于 Red HatCentOSFedora 的系统:

    sudo yum install sysstat
  4. 验证安装 安装完成后,验证 pidstat 是否已经成功安装:

    pidstat -V

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

    sysstat version: 11.7.3
    pidstat 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 使用情况。

四、定时任务监控

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

nohup pidstat 2 1000 > monitor.log &

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

在Linux 中使用 pidstat 命令监控进程性能的更多相关文章

  1. linux中的dmesg命令以及确定进程是否被系统主动kill

    linux中的dmesg命令以及确定进程是否被系统主动kill Feb 21, 2017 | java | 185 Hits 近期发现线上项目的进程莫名其妙的就不见了,也没有崩溃日志,就怀疑是被操作系 ...

  2. Linux系统性能10条命令监控

    Linux系统性能10条命令监控 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 p ...

  3. linux中的ps命令用法。

    在linux中使用ps命令可以查看有哪些进程在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等. ps命令最常用的是用于监控后台进程的工作情况. 名称:ps 使用权限:所有 ...

  4. 详解linux中的ps命令

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  5. Linux中的两种守护进程stand alone和xinetd

    Linux中的两种守护进程stand alone和xinetd --http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一 ...

  6. Linux 中的 Install命令

    Linux 中的 Install命令 更新时间:2017年09月25日 16:51:45   投稿:mrr   我要评论 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. ...

  7. Linux 中的内部命令和外部命令

    Linux 中的内部命令和外部命令 作者:Grey 原文地址: 博客园:Linux 中的内部命令和外部命令 CSDN:Linux 中的内部命令和外部命令 什么是 bash shell ? bash s ...

  8. Linux中的历史命令

    Linux中的历史命令一般保存在用户    /root/.bash_history history 选项 历史命令保存文件夹 选项     -c:清空历史命令     -w :把缓存中的历史命令写入历 ...

  9. 关于XShell的常见使用和设置以及Linux中的常见命令.

    本文部分转自:http://sundful.iteye.com/blog/704079 和 http://www.vckai.com/p/5 有时候在XShell中操作的一些命令傻傻的分不清这个命令到 ...

  10. linux中的strings命令简介2

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...

随机推荐

  1. CF1204A 题解

    洛谷链接&CF 链接 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 给定一个二进制字符串 \(S\),求这个二进制数包含 \(4 ^ k\) 的个数. 特殊的:若 ...

  2. 再读vue

    app.vue是项目的主组件,页面的入口文件 main.js是项目的入口文件 vue.config.js是vue-cli的配置文件//用这个配置代理,端口号 例如 const { defineConf ...

  3. Qt+OpenCascade开发笔记(二):windows开发环境搭建(二):Qt引入occ库,搭建基础工程模板Demo和发布Demo

    前言   Open CASCADE是由Open Cascade SAS公司开发和支持的开源软件开发平台,旨在为特定领域快速开发程序而设计.它是一个面向对象的C++类库,提供了丰富的几何造型.数据交换和 ...

  4. 【BlueTooth】 小米手机蓝牙传输文件

    打开小米手机的蓝牙设置,寻找电脑设备(电脑装有蓝牙设备) 同时电脑也打开蓝牙面板,两个设备都开始进行匹配: 然后电脑打开蓝牙的[接收传输文件] 手机打开图库或者文件管理,找到文件发送时选择[蓝牙] 传 ...

  5. 【C3】06 选择器概述

    CSS中,选择器用来指定网页上我们想要样式化的HTML元素. CSS选择器有很多种可供使用,所以在选择要样式化的元素时,我们可以做到很精细的地步. 本文和本文的子篇中,我们将会很详细地讲授选择器不同的 ...

  6. 【C】Re09 结构体

    一.结构体 Struct 创建和基本使用 #include <stdio.h> #include <stdlib.h> #include <string.h> // ...

  7. PID入门视频课程分享: 单片机 > PID课程:一堂课帮你搞定PID算法 > pid算法

    推荐入门视频: <PID课程:一堂课帮你搞定PID算法> 收费版: http://t.elecfans.com/v/1399.html 免费版: 地址: https://www.bilib ...

  8. 高考志愿填报指南:使用AI阅读工具ChatDOC搭建专业、好用、免费的AI高考志愿填报系统

    高考志愿填报指南:使用 ChatDOC 搭建专业.好用.免费的 AI 高考志愿填报系统 不说废话,直接上干货.针对高考志愿填报,这篇文章能为你提供以下内容:高考志愿填报专业数据.高考志愿填报分析思路. ...

  9. 09-canvas绘制坐标系

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  10. Linux下SPI驱动详解

    更多嵌入式原创文章,请关注公众号:一口Linux 1. SPI总线 1.1. SPI总线概述 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口. ...