系统性能监控

1、dstat

创新互联建站是一家专注于成都做网站、成都网站制作与策划设计,安远网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:安远等地区。安远做网站价格咨询:028-86922220

[root@test ~]# dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
  0   1  97   2   0   0|  22k 5834B|   0     0 |   0     0 |  30    39
  0   0 100   0   0   0|   0     0 | 826B  826B|   0     0 |  25    37
  0   0 100   0   0   0|   0     0 | 424B  346B|   0     0 |  20    33
  0   0 100   0   0   0|   0     0 | 396B  346B|   0     0 |  23    40
  0   0 100   0   0   0|   0     0 | 364B  346B|   0     0 |  25    40
  1   0  98   0   0   1|   0     0 | 212B  346B|   0     0 |  20    35

常用  dstat -r -d

[root@test ~]# dstat -r -d
--io/total- -dsk/total-
 read  writ| read  writ
0.71  0.44 |  22k 5784B
   0     0 |   0     0
   0     0 |   0     0
   0     0 |   0     0
   0     0 |   0     0
   0     0 |   0     0
   0     0 |   0     0

查看占用进程最多的io

[root@test ~]# dstat --top-io
----most-expensive----
     i/o process      
bash         38k  619B
sshd: root@ 146B  196B
sshd: root@  78B  116B
sshd: root@  78B  116B

2、iostat

$iostat -d -k 1 10

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次

rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
  wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
  r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
  w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
  rsec/s: 每秒读扇区数。即 delta(rsect)/s
  wsec/s: 每秒写扇区数。即 delta(wsect)/s
  rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
  wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)
  avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
  avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
  await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
  svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
  %util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
  如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘
  可能存在瓶颈。
  idle小于70% IO压力就较大了,一般读取速度有较多的wait.
  同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)

[root@test ~]# iostat -d -k 2
Linux 2.6.32-279.el6.x86_64 (test)     12/22/2014     _x86_64_    (1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.07        20.18         5.32     143249      37750

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入 的总数量数据量;这些单位都为Kilobytes。

iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态

[命令:] iostat [-c|-d] [-k] [-t] [间隔描述] [检测次数]
参 数:
-c : 仅显示cpu的状态
-d : 仅显示存储设备的状态,不可以和-c一起使用
-k : 默认显示的是读入读出的block信息,用-k可以改成KB大小来显示
-t  : 显示日期
-p device | ALL : device为某个设备或者某个分区,如果使用ALL,就表示要显示所有分区和设备的信息


标题名称:系统性能监控
当前链接:http://scyanting.com/article/jopcjj.html