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%
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可用观察到这种典型模式)