代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Shell
】
当前运行进程的实时监控工具(pidstat)
作者:
Dezai.CN
/ 发布于
2011/12/5
/
1172
pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
<div>在正常的使用,通常都是通过在命令行选项中指定待监控的pid,之后在通过其他具体的参数来监控与该pid相关系统资源信息。 <span style="color: #ff0000">-l: 显示该进程和CPU相关的信息(command列中可以显示命令的完整路径名和命令的参数)。</span> <span style="color: #ff0000">-d: 显示该进程和设备IO相关的信息。</span> <span style="color: #ff0000">-r: 显示该进程和内存相关的信息。</span> <span style="color: #ff0000">-w: 显示该进程和任务时间片切换相关的信息。</span> <span style="color: #ff0000">-t: 显示在该进程内正在运行的线程相关的信息。</span> <span style="color: #ff0000">-p: 后面紧跟着带监控的进程id或ALL(表示所有进程),如不指定该选项,将监控当前系统正在运行的所有进程。</span> #监控pid为1(init)的进程的CPU资源使用情况,其中每隔3秒刷新并输出一次,3次后程序退出。 <span style="color: #0000ff"><em>/> pidstat -p 1 2 3 -l</em></span> 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 <span style="color: #ff0000">%usr: 该进程在用户态的CPU使用率。</span> <span style="color: #ff0000">%system:该进程在内核态(系统级)的CPU使用率。</span> <span style="color: #ff0000">%CPU: 该进程的总CPU使用率,如果在SMP环境下,该值将除以CPU的数量,以表示每CPU的数据。</span> <span style="color: #ff0000">CPU: 该进程所依附的CPU编号(0表示第一个CPU)。</span> #监控pid为1(init)的进程的设备IO资源负载情况,其中每隔2秒刷新并输出一次,3次后程序退出。 /<em><span style="color: #0000ff">> pidstat -p 1 2 3 -d </span></em> 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 <span style="color: #ff0000">kB_rd/s: 该进程每秒的字节读取数量(KB)。</span> <span style="color: #ff0000">kB_wr/s: 该进程每秒的字节写出数量(KB)。</span> <span style="color: #ff0000">kB_ccwr/s: 该进程每秒取消磁盘写入的数量(KB)。</span> #监控pid为1(init)的进程的内存使用情况,其中每隔2秒刷新并输出一次,3次后程序退出。 <em><span style="color: #0000ff">/> pidstat -p 1 2 3 -r</span></em> 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 <span style="color: #ff0000">%MEM: 该进程的内存使用百分比。</span> #监控pid为1(init)的进程任务切换情况,其中每隔2秒刷新并输出一次,3次后程序退出。 <em><span style="color: #0000ff">/> pidstat -p 1 2 3 -w</span></em> 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 <span style="color: #ff0000">cswch/s: 每秒任务主动(自愿的)切换上下文的次数。主动切换是指当某一任务处于阻塞等待时,将主动让出自己的CPU资源。</span> <span style="color: #ff0000">nvcswch/s: 每秒任务被动(不自愿的)切换上下文的次数。被动切换是指CPU分配给某一任务的时间片已经用完,因此将强迫该进程让出CPU的执行权。</span> #监控pid为1(init)的进程及其内部线程的内存(<strong><span style="color: #ff0000">r选项</span></strong>)使用情况,其中每隔2秒刷新并输出一次,3次后程序退出。需要说明的是,如果-t选项后面不加任何其他选项,缺省监控的为CPU资源。结果中黄色高亮的部分表示进程和其内部线程是树状结构的显示方式。 <em><span style="color: #0000ff">/> pidstat -p 1 2 3 -tr</span></em> 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 <span style="background-color: #ffff00">init</span> 07:37:06 AM - 1 0.00 0.00 2828 1368 0.13 <span style="background-color: #ffff00">|__init</span> 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 <span style="background-color: #ffff00">init</span> 07:37:08 AM - 1 0.00 0.00 2828 1368 0.13 <span style="background-color: #ffff00">|__init</span> 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 <span style="background-color: #ffff00">init</span> 07:37:10 AM - 1 0.00 0.00 2828 1368 0.13 <span style="background-color: #ffff00">|__init</span> Average: TGID TID minflt/s majflt/s VSZ RSS %MEM Command Average: 1 - 0.00 0.00 2828 1368 0.13 <span style="background-color: #ffff00">init</span> Average: - 1 0.00 0.00 2828 1368 0.13 <span style="background-color: #ffff00">|__init</span> <span style="color: #ff0000">TGID: 线程组ID。</span> <span style="color: #ff0000">TID: 线程ID。 </span> <strong><span style="color: #ff0000">以上监控不同资源的选项可以同时存在,这样就将在一次输出中输出多种资源的使用情况,如:pidstat -p 1 -dr。</span></strong> </div>
试试其它关键字
pidstat
同语言下
.
判断用户输入的是否为IP地址
.
根据web访问日志,封禁请求量异常的IP,如IP在半小时
.
iptables自动屏蔽访问网站频繁的IP
.
批量修改服务器用户密码
.
监控httpd的进程数,根据监控情况做相应处理
.
创建10个用户,并分别设置密码,密码要求10位且包含大
.
Expect实现SSH免交互执行命令
.
输入数字运行相应命令
.
用shell打印示例语句中字母数小于6的单词
.
扫描主机端口状态
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3