`
不爱不见
  • 浏览: 284719 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

进程实时监控pidstat命令详解

 
阅读更多
pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

实例讲解
默认参数

执行pidstat,将输出系统启动后所有活动进程的cpu统计信息:

复制代码
$ pidstat 1
Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2015 _x86_64_ (32 CPU)
07:41:02 PM UID PID %usr %system %guest %CPU CPU Command
07:41:03 PM 0 9 0.00 0.94 0.00 0.94 1 rcuos/0
07:41:03 PM 0 4214 5.66 5.66 0.00 11.32 15 mesos-slave
07:41:03 PM 0 4354 0.94 0.94 0.00 1.89 8 java
07:41:03 PM 0 6521 1596.23 1.89 0.00 1598.11 27 java
07:41:03 PM 0 6564 1571.70 7.55 0.00 1579.25 28 java
07:41:03 PM 60004 60154 0.94 4.72 0.00 5.66 9 pidstat
07:41:03 PM UID PID %usr %system %guest %CPU CPU Command
07:41:04 PM 0 4214 6.00 2.00 0.00 8.00 15 mesos-slave
07:41:04 PM 0 6521 1590.00 1.00 0.00 1591.00 27 java
07:41:04 PM 0 6564 1573.00 10.00 0.00 1583.00 28 java
07:41:04 PM 108 6718 1.00 0.00 0.00 1.00 0 snmp-pass
07:41:04 PM 60004 60154 1.00 4.00 0.00 5.00 9 pidstat
复制代码
pidstat命令输出进程的CPU占用率,该命令会持续输出,并且不会覆盖之前的数据,可以方便观察系统动态。如上的输出,可以看见两个JAVA进程占用了将近1600%的CPU时间,既消耗了大约16个CPU核心的运算资源。

指定采样周期和采样次数

pidstat命令指定采样周期和采样次数,命令形式为”pidstat [option] interval [count]”,以下pidstat输出以2秒为采样周期,输出10次cpu使用统计信息:

pidstat 2 10
cpu使用情况统计(-u)

使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样。



内存使用情况统计(-r)

使用-r选项,pidstat将显示各活动进程的内存使用统计:

复制代码
linux:~ # pidstat -r -p 13084 1
Linux 2.6.32.12-0.7-default (linux)             06/18/12        _x86_64_

15:08:18          PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
15:08:19        13084 133835.00      0.00 15720284 15716896  96.26  mmmm
15:08:20        13084  35807.00      0.00 15863504 15849756  97.07  mmmm
15:08:21        13084  19273.87      0.00 15949040 15792944  96.72  mmmm
复制代码
以上各列输出的含义如下:

minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数
majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生
VSZ:      该进程使用的虚拟内存(以kB为单位)
RSS:      该进程使用的物理内存(以kB为单位)
%MEM:     该进程使用内存的百分比
Command:  拉起进程对应的命令
IO情况统计(-d)


使用-d选项,我们可以查看进程IO的统计信息:

复制代码
linux:~ # pidstat -d 1 2
Linux 2.6.32.12-0.7-default (linux)             06/18/12        _x86_64_

17:11:36          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
17:11:37        14579 124988.24      0.00      0.00  dd

17:11:37          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
17:11:38        14579 105441.58      0.00      0.00  dd
复制代码
输出信息含义

kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)
kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)
Command: 拉起进程对应的命令
针对特定进程统计(-p)

使用-p选项,我们可以查看特定进程的系统资源使用情况:

复制代码
linux:~ # pidstat -r -p 1 1
Linux 2.6.32.12-0.7-default (linux)             06/18/12        _x86_64_

18:26:17          PID  minflt/s  majflt/s     VSZ    RSS   %MEM  Command
18:26:18            1      0.00      0.00   10380    640   0.00  init
18:26:19            1      0.00      0.00   10380    640   0.00  init
……
复制代码
pidstat常用命令
使用pidstat进行问题定位时,以下命令常被用到:

pidstat -u 1

pidstat -r 1

pidstat -d 1
以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息。

参考: https://www.cnblogs.com/mululu/p/5833722.html
分享到:
评论

相关推荐

    Linux如何安装使用pidstat命令以对进程数据进行监控.docx

    Linux 中使用 pidstat 命令对进程数据进行监控 在 Linux 系统中,对进程数据进行监控是非常重要的,pidstat 命令就是其中的一种常用命令。pidstat 命令可以对 Linux 系统进程数据进行监控,但要先对 pidstat 进行...

    Linux进程实时监控技术的内核实现.pdf

    Linux 进程实时监控技术的内核实现 Linux 进程实时监控技术的内核实现是指在 Linux 操作系统中,实时监控和跟踪进程的运行状态和行为,以便及时发现和防止恶意进程的破坏活动。该技术的实现主要基于 Linux 内核的...

    实时监控某一个进程源码

    在IT领域,实时监控进程是一项重要的任务,尤其对于系统管理员和开发者来说,了解系统的运行状态以及各个进程的行为至关重要。本文将深入探讨如何实现一个能够实时监控特定进程的源码,并结合给定的文件"实时监控某...

    Linux 进程管理四个命令详解.docx

    Linux 进程管理四个命令详解 Linux 进程管理是 Linux 操作系统中一个非常重要的组件,它负责管理和控制系统中的进程。Linux 提供了多种命令来管理和监控进程,这些命令可以帮助系统管理员和开发者更好地了解和控制...

    linux ps 命令详解

    **Linux `ps` 命令详解** 在Linux操作系统中,`ps`(Process Status)命令是用于查看系统当前进程状态的工具。它能够显示进程的实时信息,帮助用户了解系统的运行情况,进行进程管理。`ps`命令历史悠久,功能强大,...

    C#用户、进程监控用户、进程监控

    通过Process类的Property,如Process.cpuUsage或Process.PrivateMemorySize,可以实时监控进程的资源消耗。 为了实现用户和进程的综合监控,可以创建一个C#应用程序,该程序周期性地检查用户登录状态和进程资源使用...

    c# winform实现进程监控

    在C# WinForm环境中开发进程监控程序是一项常见的任务,它涉及到对系统进程的实时跟踪、控制和管理。本文将深入探讨如何使用C#语言和Windows Forms(WinForm)框架来实现这一功能,以及如何设计一个能够按设定顺序...

    实时监控chrome进程

    本文将详细讲解如何使用C#语言实现对Chrome进程的实时监控,以及这个过程涉及的关键知识点。 首先,我们需要了解什么是进程。在操作系统中,进程是程序的一次执行实例,它包含了程序运行时所需的所有资源,如内存、...

    流量监控 进程 进程流量监控

    3. 实施实时监控:启动监控,观察流量变化。 4. 数据分析:定期查看监控报告,识别流量模式和潜在问题。 5. 调整和优化:根据分析结果调整网络策略,优化资源配置。 在进行流量监控时,还需要注意保护用户隐私,...

    进程监控--启动进程 关闭多余的进程

    5. **循环与定时器**:为了实时监控,程序会设置一个循环或定时器,定期执行上述的进程检查和管理任务。 6. **日志记录与报警**:为了便于故障排查和系统维护,进程监控程序通常会记录操作日志,并在出现异常情况时...

    WMI实时监控进程开启demo

    **WMI实时监控进程开启** 是一种在Windows操作系统中实现进程监控的技术,它基于Windows Management Instrumentation(WMI)框架。WMI是微软提供的一种管理工具,它允许开发者通过脚本或程序来获取和控制系统层面的...

    shell脚本实现服务器进程监控的方法

    ### Shell 脚本实现服务器进程监控方法详解 在IT运维和开发环境中,服务器进程的稳定运行至关重要。本文将深入探讨如何使用Shell脚本实现服务器进程监控,这不仅有助于及时发现异常情况,还能提高系统的可用性和...

    linux进程监控和进程守护程序

    接着,监控程序需要启动进程,这通常意味着通过系统命令如`nohup`或者`systemd`等来确保进程在后台稳定运行,即使关闭终端也不会影响进程的运行。在进程被启动之后,监控程序就会不断地对其进行监控,查看进程是否...

    用GO语言实现监控和管理进程

    进程监测:用户可以通过信号或者 ps 命令对被监控的进程进行状态检测,如果进程异常退出,gmonitor 会自动拉起,并记录日志。 进程配置:用户可以通过 JSON 格式的配置文件对被监控的进程进行配置,包括进程名、运行...

    实用进程异常监控软件

    它具有高度自动化的特点,能够实时监控最多30个不同的进程,一旦发现任何被监控的进程异常退出,软件会立即执行自动重启操作,以保证服务的连续性和系统的正常运行。 在实际应用中,这样的软件对于服务器维护、应用...

    nohup命令详解.txt

    ### nohup命令详解:确保进程在终端关闭后继续运行 #### 核心知识点解析: **nohup命令概述:** `nohup`是Linux系统中的一个实用工具,其名称源自“No Hang UP”,意为“不断开”。该命令允许用户在终端窗口关闭或...

    Linux top 命令详解

    Linux top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。下面详细介绍它的使用方法。 认识 top 的显示结果 ------------------- top 命令的显示...

    Linux下的ps aux命令详解

    这个命令可以帮助系统管理员和开发者了解系统的运行情况,监控资源使用,查找问题,以及调试程序。下面将详细介绍`ps aux`命令及其各个选项的含义。 首先,`ps`的基本用法是列出当前终端下的进程,而`aux`是多个...

    进程监控守护工具-当监控列表中的进程挂掉后会自动重新启动

    2. 实时监控:工具会定期检查列表中的每个进程,通过检查进程是否存在、运行状态等信息来判断进程是否正常运行。 3. 故障检测:如果工具发现某个进程已经停止,它会立即识别这是一个故障情况。 4. 自动恢复:在...

Global site tag (gtag.js) - Google Analytics