linux系统分析工具pidstat

2024-01-06 16:38

本文主要是介绍linux系统分析工具pidstat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pidstat主要用于监控全部或者指定进程占用系统资源的情况如CPU,内存,设备IO,任务切换,线程等.pidstat首次运行事显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的此时和时间来获得所需要的统计信息.该命令是sysstat中的工具,想要使用该命令需要先安装sysstat工具.pidstat命令只有在内核版本为2.6.20版本以后执行才有效.

用法:

输入pidstat --help后显示帮助:

[root@centos democlass]# pidstat --help
Usage: pidstat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -C <command> ] [ -d ] [ -h ] [ -I ] [ -l ] [ -r ] [ -t ] [ -u ] [ -V ] [ -w ]
[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]

描述:

 The  pidstat  command  is  used  for monitoring individual tasks currently being managed by the Linux kernel.  It writes to standard output activities for every task selected with option -p or for every task managed by the Linux kernel if option -p ALL has been used. Not selecting any tasks is equivalent to specifying -p ALL but  only  active  tasks  (tasks with non-zero statistics values) will appear in the report.

The pidstat command can also be used for monitoring the child processes of selected tasks.  Read about option -T below.

The  interval parameter specifies the amount of time in seconds between each report.  A value of 0 (or no parameters at all) indicates that tasks statistics are to be reported for the time since system startup (boot).  The count parameter can be specified in conjunction with the interval parameter if this one is not set to zero. The value  of  count  determines the number of reports generated at interval seconds apart. If the interval parameter is specified without the count parameter, the pidstat command generates reports continuously.

You can select information about specific task activities using flags.  Not specifying any flags selects only CPU activity.

选项:-C comm		#只显示那些包含字符串(可是正则表达式)comm的命令的名字-d			#显示I/O统计信息(须内核2.6.20及以后)PID			        #进程号kB_rd/s			#每秒此进程从磁盘读取的千字节数kB_wr/s			#此进程已经或者将要写入磁盘的每秒千字节数kB_ccwr/s			#由任务取消的写入磁盘的千字节数Command			#命令的名字-h			#显示所有的活动的任务-I			#在SMP环境,指出任务的CPU使用(等同于选项-u)应该被除于cpu的总数-l			#显示进程的命令名和它的参数-p { pid [,...] | SELF | ALL }		#指定线程显示其报告-r			#显示分页错误的内存利用率When reporting statistics for individual tasks, the following values are displayed:PID			        #进程号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			#任务的命令名             When reporting global statistics for tasks and all their children, the following values are displayed:PID			        #PID号minflt-nr			#在指定的时间间隔内收集的进程和其子进程的次缺页错误次数majflt-nr			#在指定的时间间隔内收集的进程和其子进程的主缺页错误次数Command			#命令名-s			#堆栈的使用-t			#显示与所选任务相关的线程的统计数据-T { TASK | CHILD | ALL }	#指定必须监测的内容:TASK是默认的,单个任务的报告;CHILD:指定的进程和他们的子进程的全局报告,ALL:相当于TASK和CHILD-u			#报告CPU使用When reporting statistics for individual tasks, the following values are displayed: PID%usr			#用户层任务正在使用的CPU百分比(with or without nice priority ,NOT include time spent running a virtual processor)%system			#系统层正在执行的任务的CPU使用百分比%guest			#运行虚拟机的CPU占用百分比%CPU			#所有的使用的CPU的时间百分比CPU			        #处理器数量Command			#命令When reporting global statistics for tasks and all their children, the following values are displayed:PID			        #PID号usr-ms			#在指定时间内收集的在用户层执行的进程和它的子进程占用的CPU时间(毫秒){with or without nice priority,NOT include time spent running a virtual processor)system-ms			#在指定时间内收集的在系统层执行的进程和它的子进程占用的CPU时间(毫秒)guest-ms			#花在虚拟机上的时间Command			#命令-V			#版本号-w			#报告任务切换情况PID			        #PID号cswch/s			#每秒自动上下文切换nvcswch/s			#每秒非自愿的上下文切换Command			#命令

示例:

$ pidstat 2 5                        #Display five reports of CPU statistics for every active task in the system at two second intervals.(每隔两秒输出一份报告统计)$ pidstat -r -p 1643 2 5             #Display five reports of page faults and memory statistics for PID 1643 at two second intervals.(每隔两秒显示1643进程的内存信息统计)$ pidstat -C "fox|bird" -r -p ALL    #Display global page faults and memory statistics for all the processes whose command name includes the string "fox" or "bird".$ pidstat -T CHILD -r 2 5            #Display five reports of page faults statistics at two second intervals for the child processes of  all  tasks in the system. Only child processes with non-zero statistics values are displayed.


本文参考(大部分):

http://xuclv.blog.51cto.com/5503169/1166398

同时参考:;林昊的<<java应用>>

这篇关于linux系统分析工具pidstat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576951

相关文章

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决