iostat命令和vmstat命令

1、iostat命令(磁盘)

1.1、介绍

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

  iostat的语法如下:

iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]

  其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。

1.2、磁盘使用率

对于有磁盘操作的应用来说,查找性能问题,就应该监控磁盘I/O。一些应用的核心功能需要大量使用磁盘,例如:数据库,几乎所有的应用都会用日志记录重要的状态信息或事件发生时的应用行为。磁盘I/O使用率是理解应用磁盘使用情况最有用的监控数据。

centos安装:yum install sysstat

iostat -xc报告每个磁盘设备的磁盘使用率和CPU使用率。

监控命令例子:iostat -xc 5  或者iostat -xm 5

上面的例子显示系统有4个磁盘sda,dm-0,dm-1,dm-2,磁盘I/O的使用率分别为0.04%,0.04%,0.00%,0.00%,系统态CPU使用率为0.1%。

1、cpu %user  CPU使用率:0.1%

2、磁盘有4个,使用率如下

sda %util   磁盘使用率0.04%

dm-0  %util   磁盘使用率0.04%

dm-1 %util   磁盘使用率0.00%

dm-2 %util   磁盘使用率0.00%

平时我们主要关注这三个参数:await  svctm $util

await       平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了
svctm       平均每次IO请求的处理时间(毫秒为单位)如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢

%util       采用周期内用于IO操作的时间比率,即IO队列非空的时间比率
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。采用周期内用于IO操作的时间比率,即IO队列非空的时间比率
例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了

2、vmstat命令(CPU)

 $vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free           buff  cache     si   so    bi    bo   in   cs us sy id wa st
 1  0  10760 1031764      0 1485824    0    0     1     4   11   27  0  0 100  0  0

CPU:

us是用户态CPU使用率。

sy是系统态CPU使用率。

id是空闲率或CPU可用率。

us、sy的和应该等于100-id,即100-id列的值。

上面是1个CPU使用率字段,us、sy及id分别显示用户态、系统态和空闲CPU使用率。

memory:

需要监控vmstat中的si和so,它们分别表示内存页面换入和换出的量。

free列显示可用的空闲内存,留意是否会同时出现空闲内存少喝页面调度频繁的情形,相比而言,实际的数量单位反而不那么重要。

如果观察到"同时出现空闲内存少喝页面调度频繁的情形",说明系统可能在进行页面交换。

 描述以上的数据模式。

当空闲内存刚开始减少时,si和so几乎没有什么页面调度。当空闲内存达到155000-175000时,so出现换出活动。一旦页面换出变得平稳,si列显示的页面换入开始快速增加。通常说明系统中有应用或一组应用在进行大量的内存分配或内存访问。

当物理内存慢慢耗尽时,系统开始将最近最少使用的内存置换到虚拟内存。当应用需要内存页时,内存页面换入和换出几乎一样快。

(在Linux系统进行页面交换时,vmstat可用观察到这种典型模式)

猜你喜欢

转载自blog.csdn.net/fen_fen/article/details/131538981