sar-iostat-vmstat-参数详解

sar

sar 是分析系统性能的重要工具之一,通过sar指令可以全面地获取系统的CPU运行队列、磁盘I/O、分页(交换分区)、内存、CPU 中断网络等性能数据。

sar [options] [-o filename] [interval count]
options:
  -A:显示系统所有资源设备,CPU、内存、磁盘 的运行状态。
  -u:显示系统所有CPU 采样的负载。
  -P:显示当前系统中指定CPU的使用情况
  -d:显示系统所有硬盘设备在采样时间内的使用状况。
  -r:显示系统内存在采样时间内的使用状况
  -b:显示缓冲区在采样时间内的使用情况
  -v:显示进程、文件、I 节点和锁表状态
  -n:显示网络运行状态,如DEV ..
  -q:显示运行队列的大小,它与系统当时的平均负载
  -R:显示进程在采样时间内的活动情况
  -y:显示终端设备在采样时间内的活动情况
  -w:显示系统交换活动在采样时间内的状态
  -o filename  表示采样间隔时间, 是必须有的参数。
  count: 表示采样次数,可选项,默认值是 1.
EXAMPLE:
 1. sar -u 3 5   //查看CPU的整体负载,每3秒统计一次,统计 5

[[email protected] ~]# sar -u 3 5
Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
09:52:46 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
09:52:49 PM       all      0.35      0.00      1.57      0.00      0.00     98.08
09:52:52 PM       all      0.35      0.00      1.41      0.88      0.00     97.35
09:52:55 PM       all      0.17      0.00      1.22      0.00      0.00     98.60
09:52:58 PM       all      0.53      0.00      3.50      0.00      0.00     95.97
09:53:01 PM       all      0.17      0.00      1.22      0.52      0.00     98.08
Average:          all      0.32      0.00      1.79      0.28      0.00     97.62

%user列显示了用户进程小行的CPU时间百分比
%nice列显示了运行正常进程所消耗的CPU 时间百分比
%system列显示了系统进程消耗的CPU时间百分比
%iowait列显示了IO等待所占用的CPU时间百分比
%steal列显示了在内存相对紧张的环境下pagein 强制对不同的页面进行的steal操作。
%idle列显示了CPU处在空闲的时间百分比这个输出是对系统整体CPU使用状况的统计,每项的输出都非常直观,并且最后一行Average是个汇总行,是上面统计信息的一个平均值.

2. sar -P 1 3 5 //系统的CPU技术是从0开始的,如果要查看第二颗CPU 的运行负载,使用此组合。
3. sar -d 2 3   // 查看系统磁盘的读写性能  重点

Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
10:07:47 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:07:49 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:49 PM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:49 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:07:51 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:51 PM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:51 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:07:53 PM    dev8-0      1.04      0.00     49.74     48.00      0.00      2.50      2.50      0.26
10:07:53 PM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util     
Average:       dev8-0      0.35      0.00     16.67     48.00      0.00      2.50      2.50      0.09
Average:      dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

DEV表示磁盘设备名称
tps表示每秒到物理磁盘的传送术,也就是每秒的I/O流量。一个传送就是一个I/O 请求,多个逻辑请求可以被合并为一个物理I/O请求。
rd/sec/s表示每秒从设备读取的扇区数(1扇区)
wr_sec/s表示每秒写入设备的扇区数目
avgrq-sz表示平均每次设备I/O 操作的数据大小(以扇区为单位)如:超市排队中每人所买东西的多少
avgqu-sz表示平均I/O队列长度    如:超市排队中没人单位时间平均排队的人数
await表示平均每次设备I/O操作的等待时间(以毫秒为单位)如:类似于超市排队中每人的等待时间
svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)如:类似超市排队中收银员的收款速度
%util表示一秒种有百分之际的时间用于I/O操作。如:类似超市收银台前有人排队的时间比例。

4. sar -r 2 3   //查看系统内存使用情况,

[[email protected] ~]# sar -r 2 3
Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
10:01:41 PM kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
10:01:43 PM      7884    507592     98.47     76788    278440   1020116         0      0.00         0
10:01:45 PM      7884    507592     98.47     76788    278440   1020116         0      0.00         0
10:01:47 PM      7884    507592     98.47     76796    278432   1020116         0      0.00         0
Average:         7884    507592     98.47     76791    278437   1020116         0      0.00         0

Kbmemfree 空闲的物理内存
Kbmemused 表示已使用的物理内存空间大小
%memused 表示已使用内存占总内存大小的百分比,
kbbuffers 和 kbcached 分别表示buffer cache 和Page cache的大小,kbswpfree kbswpused  %swpused  kbswpcad
%kbcommit 和 %commit 分别表示应用程序当前使用的内存和使用百分比.

5.sar -n DEV 2 3 //网络运行状态

10:34:25 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
10:34:27 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:27 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:27 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:27 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
10:34:29 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:29 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:29 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
.......

IFACE表示网络接口设备。
rxpck/s表示每秒钟接收的数据包大小。
txpck/s表示每秒钟发送的数据包大小
rxbyt/s表示每秒钟接收数据包的字节数
txbyt/s表示每秒发送数据包的字节数
rxcmp/s表示每秒接收的压缩数据包  
txcmp/s 表示每秒发送的压缩数据包
rxmcst/s表示每秒钟接收的多播数据包。

iostat
  主要用于统计磁盘IO状态,但是也能查看CPU的使用信息,他的局限性是只是显示熊所有CPU的平均信息.

Example:
1. iostat -d 2 3   //查看系统磁盘的使用状况.

[[email protected] ~]# iostat -d 2 3
Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               6.03       126.71        64.65     946835     483086
hdc               0.00         0.02         0.00        136          0
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
hdc               0.00         0.00         0.00          0          0
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
hdc               0.00         0.00         0.00          0          0

Blk_read/s表示每秒读取的数据块数
Blk_wrtn/s表示每秒写入的数据块数
Blk_read表示读取的所有块数.
Blk_wrtn表示写入的所有块数。

2. iostat -x  /dev/sda  2 3  //组合还提供了对每个磁盘的看度统计,如果不指定磁盘,默认就是对所有磁盘进行统计。

Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.54    0.34    4.15    1.88    0.00   93.09
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               1.63     6.54  4.54  1.31   122.36    62.76    31.69     0.20   33.88   8.34   4.87
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.03    0.00    2.06    0.00    0.00   96.91
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.53    0.00    4.23    0.00    0.00   95.24
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

rrqm/s 表示每秒进行merged的读操作数目
wrqm/s 表示每秒进行merged的写操作数目
r/s表示每秒完成读I/O设备的次数
w/s表示每秒完成写I/O设备的次数
rsec/s表示每秒读取的扇区数
wsec/s表示每秒写入的扇区数

vmstat

vmstat该命令显示关于系统各种资源之间先关性能的简要信息

[[email protected] ~]# vmstat  2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0   6528  77864 278604    0    0    28    14  545  137  1  4 94  2  0
 0  0      0   6504  77872 278600    0    0     0    46 1012  354  1  3 96  0  0
 0  0      0   6504  77872 278608    0    0     0     0 1005  217  1  2 98  0  0
[[email protected] ~]#

(1)procs
 r 列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU的个数,就说明CPU不租,需要总价CPU
 b 列表示在等待资源的进程数,比如正在等待I/O或者内存交换等
(2)memory
 swpd 列表示切换到内存交换区的内存数量(以KB为单位)。如果swpd的值不为0,或者比较大,而且si,so的值长期为0, 不影响系统性能
 free 列表示当前空闲的物理内存数量(KB为单位)
 buff 列表示buffers cache 的内存数量, 一般对块设备的读写才需要缓冲
 cache 列表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached。 如果cache值较大,就说明cached的文件数较多,如果此时IO中bi比较小,表明文件系统效率比较好。

(3)swap
 si列表示由磁盘调入内存,也就是内存进入内存交换区的数量
 so列表示内存调入硬盘,也就是内存交换区进入内存的数量
 通常si so 都为0, 若此两列长期不为O,则表示系统内存不租,需要增加系统内存。
(4)io 显示磁盘读写情况
bi列表示从块设备读入数据的总量,  每秒/kb
bo列表示写入到快设备的数据总量,
一般bi+bo 参考值为1000, 如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,需要提高磁盘的读写性能
(5)system
in 列表示在某一时间间隔中观测到的每秒设备中断数
cs 列表示每秒产生的上下文切换次数
(6)cpu
us 列显示用户进程消耗的cpu时间百分比,参考值 50%, 超过则需要优化
sy列显示了内核进程消耗的CPU时间百分比,sy值较高时,说明内核消耗的CPU资源很多
us+sy的参考值为80%,大于则需要调整
id列显示了CPU 处在空间的时间比
wa列显示IO等待所暂用的CPU时间百分比。wa值越高,说明IO等待越严重.
综上,需要注意的是procs 项 r 列的值和cpu项中us、sy 和id列的值

sar-iostat-vmstat-参数详解

时间: 2024-11-12 10:07:20

sar-iostat-vmstat-参数详解的相关文章

vmstat参数详解

vmstat 5 可以使用ctrl+c停止vmstat,可以看到输出依赖于所用的操作系统,因此可能需要阅读一下手册来解读报告 第一行的值是显示子系统启动以来的平均值,第二行开始展示现在正在发生的情况,接下来的行会展示每5秒的间隔内发生了什么 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy

vmstat 命令详解 转载

vmstat 命令详解   procs:r-->在运行队列中等待的进程数b-->在等待io的进程数w-->可以进入运行队列但被替换的进程 memoyswap-->现时可用的交换内存(k表示)free-->空闲的内存(k表示) pagesre-->回收的页面mf-->非严重错误的页面pi-->进入页面数(k表示)po-->出页面数(k表示)fr-->空余的页面数(k表示)de-->提前读入的页面中的未命中数sr-->通过时钟算法扫描的页

Linux系统IO分析工具之iotop参数详解(查看IO占用)

这篇文章主要介绍了Linux系统IO分析工具之iotop参数详解(查看IO占用),本文着重注解了iotop工具的参数,以及可操作命令,需要的朋友可以参考下 简介: iotop – simple top-like I/O monitoriotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires 2.6.20 or later) 安装: 复制代码 代码如下: yum -y install iotop 用法: 复制代码 代码如下: iotop

vmstat命令详解——linux性能分析

版本信息: procps version 3.2.8 基本使用: vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] [-a]:显示活跃和非活跃内存 [-n]:只在开始时显示一次字段名,针对多次收集信息的情况输出人性化一点 [-t]:在每条信息的末尾,显示收集信息的时间 [-S unit]:使用指定单位显示.参数有 k .K .m .M ,分别代表1000.1024.1000000.1048576字节(byte).默认单位为K(1024 bytes)

JVM 参数详解

在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步. PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存放Instance.GC(Garbage Collection)应该不会对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可

jquery ajax 方法及各参数详解

jquery ajax 方法及各参数详解 1.$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息. 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分

Nginx内置变量以及日志格式变量参数详解

Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为空字符串 $uri #请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如"/foo/bar.html". $d

MySQL配置文件mysql.ini参数详解、MySQL性能优化

MySQL配置文件mysql.ini参数详解.MySQL性能优化 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

day01_linux中与Oracle有关的内核参数详解

linux中与Oracle有关的内核参数详解 在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么含义呢,下面做详细解析. Linux安装文档中给出的最小值: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip