系统性能监控

发布时间:2020-06-28 09:48:46 作者:袁跃平
来源:网络 阅读:464

1、dstat

[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,就表示要显示所有分区和设备的信息

推荐阅读:
  1. Linux系统性能监控
  2. mongodb性能监控

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

iostat dstat

上一篇:python默认安装到c盘会有影响吗

下一篇:showdoc使用笔记(自动生成api文档和数据库字典)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》