系统性能监控工具 - pidstat

  主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
参数:
-l 显示该进程和CPU相关的信息(command列中可以显示命令的完整路径名和命令的参数)。
-d 显示该进程和设备IO相关的信息。
-r 显示该进程和内存相关的信息。
-w 显示该进程和任务时间片切换相关的信息。
-t 显示在该进程内正在运行的线程相关的信息。
-p 后面紧跟着带监控的进程id或ALL(表示所有进程),如不指定该选项,将监控当前系统正在运行的所有进程。

1)监控pid为1(init)的进程的CPU资源使用情况,其中每隔3秒刷新并输出一次,3次后程序退出
pidstat -p 1 2 3 -l
07:18:58 AM PID %usr %system %guest %CPU CPU Command
07:18:59 AM 1 0.00 0.00 0.00 0.00 0 /sbin/init
07:19:00 AM 1 0.00 0.00 0.00 0.00 0 /sbin/init
07:19:01 AM 1 0.00 0.00 0.00 0.00 0 /sbin/init 
Average: 1 0.00 0.00 0.00 0.00 - /sbin/init

%usr: 该进程在用户态的CPU使用率。
%system: 该进程在内核态(系统级)的CPU使用率。
%CPU: 该进程的总CPU使用率,如果在SMP环境下,该值将除以CPU的数量,以表示每CPU的数据。
CPU: 该进程所依附的CPU编号(0表示第一个CPU)。

2)监控pid为1(init)的进程的设备IO资源负载情况,其中每隔2秒刷新并输出一次,3次后程序退出
pidstat -p 1 2 3 -d 
07:24:49 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
07:24:51 AM 1 0.00 0.00 0.00 init
07:24:53 AM 1 0.00 0.00 0.00 init
07:24:55 AM 1 0.00 0.00 0.00 init
Average: 1 0.00 0.00 0.00 init

kB_rd/s: 该进程每秒的字节读取数量(KB)。
kB_wr/s: 该进程每秒的字节写出数量(KB)。
kB_ccwr/s: 该进程每秒取消磁盘写入的数量(KB)。

3)监控pid为1(init)的进程的内存使用情况,其中每隔2秒刷新并输出一次,3次后程序退出
pidstat -p 1 2 3 -r
07:29:56 AM PID minflt/s majflt/s VSZ RSS %MEM Command
07:29:58 AM 1 0.00 0.00 2828 1368 0.13 init
07:30:00 AM 1 0.00 0.00 2828 1368 0.13 init
07:30:02 AM 1 0.00 0.00 2828 1368 0.13 init
Average: 1 0.00 0.00 2828 1368 0.13 init

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: 拉起进程对应的命令

4)监控pid为1(init)的进程任务切换情况,其中每隔2秒刷新并输出一次,3次后程序退出。
pidstat -p 1 2 3 -w
07:32:15 AM PID cswch/s nvcswch/s Command
07:32:17 AM 1 0.00 0.00 init
07:32:19 AM 1 0.00 0.00 init
07:32:21 AM 1 0.00 0.00 init
Average: 1 0.00 0.00 init

cswch/s: 每秒任务主动(自愿的)切换上下文的次数。主动切换是指当某一任务处于阻塞等待时,将主动让出自己的CPU资源。
nvcswch/s: 每秒任务被动(不自愿的)切换上下文的次数。被动切换是指CPU分配给某一任务的时间片已经用完,因此将强迫该进程让出CPU的执行权。

5)监控pid为1(init)的进程及其内部线程的内存(r选项)使用情况,其中每隔2秒刷新并输出一次,3次后程序退出。需要说明的是,如果-t选项后面不加任何其他选项,缺省监控的为CPU资源
pidstat -p 1 2 3 -tr
Linux 2.6.32-71.el6.i686 (Stephen-PC) 11/16/2011 _i686_ (1 CPU)
07:37:04 AM TGID TID minflt/s majflt/s VSZ RSS %MEM Command
07:37:06 AM 1 - 0.00 0.00 2828 1368 0.13 init
07:37:06 AM - 1 0.00 0.00 2828 1368 0.13 |__init

07:37:06 AM TGID TID minflt/s majflt/s VSZ RSS %MEM Command
07:37:08 AM 1 - 0.00 0.00 2828 1368 0.13 init
07:37:08 AM - 1 0.00 0.00 2828 1368 0.13 |__init

07:37:08 AM TGID TID minflt/s majflt/s VSZ RSS %MEM Command
07:37:10 AM 1 - 0.00 0.00 2828 1368 0.13 init
07:37:10 AM - 1 0.00 0.00 2828 1368 0.13 |__init

Average: TGID TID minflt/s majflt/s VSZ RSS %MEM Command
Average: 1 - 0.00 0.00 2828 1368 0.13 init
Average: - 1 0.00 0.00 2828 1368 0.13 |__init

TGID: 线程组ID。
TID: 线程ID。 
以上监控不同资源的选项可以同时存在,这样就将在一次输出中输出多种资源的使用情况,如:pidstat -p 1 -dr。

时间: 2024-10-06 04:21:09

系统性能监控工具 - pidstat的相关文章

unix、linux下的系统性能监控工具nmon

一.nmon是一款很好的unix.linux下的系统性能监控工具. 引自百度知道: nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一. 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段.如果您拉伸窗口,并在 X

Unix系统性能监控工具之--SAR

Unix系统性能监控工具之--SAR 系统环境: 操作系统: AIX 5.3.9 Oracle:   Oracle 10gR2 SAR可用于监控Unix系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为"sar [选项] intervar [count]",其中interval为统计信息采样时间,count为采样次数. 下文将说明如何使用sar获取以下性能分析数据: 整体CPU使用统计 各个CPU使用统计 内存使用情况统计 整体I/O情况 各个I/O设备情况 网络统计 常用的选项包

linux系统性能监控工具--htop与dstat介绍

目录 一.htop工具使用简介 二.dstat工具使用简介 此博文针对linux系统介绍两款常用系统性能监控软件的基本使用,对于Linux系统我们一般要监控的对象有进程.cpu.内存.磁盘IO.swap.网卡等. (一)htop工具使用简介 htop是一个比top更为易用,功能更强大的交互式进程查看器,是一个免费的,遵循GPL协定的,针对于Linux的进程查看器.还能实现在监控界面中对某一个进程发送信号,比如杀死一个进程等,也能调整一个进程的优先级等功能.先来一张htop运行时的图片. htop

Linux系统性能监控工具

Linux 系统性能监控 1 htop [[email protected] ~]# htop   1  [||                                       2.1%]     Tasks: 51, 73 thr; 1 running   2  [|                                        0.3%]     Load average: 0.00 0.02 0.00    Mem[|||||||||||||||||||||||

系统性能监控工具 - free

[[email protected] ~]# free [-b|-k|-m|-g] [-t] 参数: -b 以Byte为单位显示内存使用情况.-k 以KB为单位显示内存使用情况.-m 以MB为单位显示内存使用情况.-g 以GB为单位显示内存使用情况.-o 不显示缓冲区调节列.-s<间隔秒数> 持续观察内存使用状况.-t 显示内存总和列.-V 显示版本信息. 范例一:显示目前系统的内存容量,以MB为单位    [[email protected] ~]# free -m total used f

系统性能监控工具 - mpstat

mpstat(Multiprocessor Statistics)是实时系统监控工具.报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息.mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据:而类似工具vmstat只能查看系统整体cpu情况. mpstat [-P {|ALL}] [internal [count]]参数:-P {|ALL} 表示监控哪个CPU, cpu在[0

Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具

一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间有大量的交互. 提高应用性能和扩展性的一个目标就是尽可能降低系统态CPU使用率. 2. CPU运行队列就是那些已经准备好运行.正等待可用CPU的轻量级进程. 当运行队列长度达到处理器的4被或者更多时,系统的相应就非常迟缓了. 解决运行队列长有两种办法: 1). 增加CPU以分担负载: 2). 分析系

系统性能监控工具 - sar

yum安装:yum install sysstat (sar是后台进程sadc的前端显示工具,安装名为“sysstat”的包后,sadc就会自动从内核收集报告并保存) sar(System Activity Reporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及IPC有关的活动等.常用格式:sar [options] [-A] [-o file

2017-7-20 推荐一款全面的系统性能监控工具——glances

这几天在找关于磁盘管理的可视化界面的玩意,一不小心看到了一个非常好的工具,叫做glances,也是用Python写的,我想如果看懂它的所有代码后,就差不多能成为半个运维开发吧,虽然对我很难做到啊,最近在艰难的转型,学习django,尝试从纯运维变为所谓的DevOps模式,唉,这几天内心才是挣扎啊.话不多说,先上图,看一下. 一.大致统计的功能 1.CPU使用率2.内存使用情况3.内核统计信息和运行队列信息4.磁盘I/O速度.传输和读/写比率5.文件系统中的可用空间6.磁盘适配器7.网络I/O速度