pidstat监控工具小结

pidstat  是著名的采集软件systat的组件之一。安装用yum install   就可以了。


1)pidstat

    结果分析
   

 %usr - 当在用户层执行(应用程序)时这个任务的cpu使用率,和 nice 优先级无关。注意这个字段计算的cpu时间不包括在虚拟处理器中花去的时间。

  %system - 这个任务在系统层使用时的cpu使用率。

  %guest - 任务花费在虚拟机上的cpu使用率(运行在虚拟处理器)。

  %CPU - 任务总的cpu使用率。在SMP环境(多处理器)中,如果在命令行中输入-I参数的话,cpu使用率会除以你的cpu数量。

  CPU - 正在运行这个任务的处理器编号。

  Command - 这个任务的命令名称。

2) 

 I/O 统计数据

  通过使用-d参数来得到I/O的统计数据。比如:

  # pidstat -d -p 8472(进程号)

IO 输出会显示一些内的条目:

  kB_rd/s - 任务从硬盘上的读取速度(kb)

  kB_wr/s - 任务向硬盘中的写入速度(kb)

  kB_ccwr/s - 任务写入磁盘被取消的速率(kb)

  页面失败和内存使用

  使用-r标记你能够得到内存使用情况的数据。

重要的条目:

  minflt/s - 从内存中加载数据时每秒出现的小的错误的数目,这些不要求从磁盘载入内存页面。

  majflt/s - 从内存中加载数据时每秒出现的较大错误的数目,这些要求从磁盘载入内存页面。

  VSZ - 虚拟容量:整个进程的虚拟内存使用(kb)

  RSS - 长期内存使用:任务的不可交换物理内存的使用量(kb)

  举例

  1. 你可以通过使用下面的命令来监测内存使用

  # pidstat -r 2 5

  这会给你5份关于page faults的统计数据结果,间隔2秒。这将会更容易的定位出现问题的进程。

  2. 显示所有mysql服务器的子进程

  # pidstat -T CHILD -C mysql

  3. 将所有的统计数据结合到一个便于阅读的单一报告中:

  # pidstat -urd -h

-------------------------------------------------------------------------------------------------

此外,使用pidstat,可以容易找到JAVA应用程序中大量占用CPU的线程:

1)使用JPS找出要监控的JAVA的PID

2)pidstat -p pid -u 1  3   

   -u表示对CPU使用率的监控,每秒采样1次,采样3次。

3) pidstat -p pid 1 3 -u -t ,其中t参数细化到线程级别,则可以看到哪个线程引起的CPU占用高。

4)  pidstat -p  pid -r 1 5  //检测内存

5)pidstat -p pid -d 1 5 //检测磁盘,把看到的 线程号知道后,

再用jstatck即可




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值