SAR

NAME:

SAR报告,收集,保存系统活动信息

语法:

sar  [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ] [-p ] [ -q ] [ -r ] [ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ]  [-w  ]  [  -W  ] [ -y ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ -n {keyword [,...] | ALL } ] [ -I { int [,...] | SUM | ALL | XALL } ] [-P{ cpu [,...] | ALL } ] [ -o [ filename ] | -f [ filename ] ] [ --legacy] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]

说明:

Sar命令会把收集到的系统活动信息写入到标准输出。收集到的值根据interval和count不同而不同,如果没有interval值,sar命令会显示从启动到现在的平均值。如果有interval没有count,那么信息会一直生成。收集到的信息也可以通过-o输出到文件上。如果没有指定文件路径,sar会标准系统活动每天生成一个文件,在/var/log/sa/sadd,其中dd是当前日期。

Sar命令获取的并且写入到标准输出前,记录到文件里面,这个文件可以用-o指定,默认被存在标准系统活动每日文件中。可以使用-f来读取这些文件中的数据。

如果不用-P,会报告系统范围统计信息,并计算他们的平均值。如果使用-P可以指定特定的处理器,如果是用-P ALL,会报告所有的CPU,和所有处理器的全局统计信息。

然后可以使用选项来选择信息,如果不指定选项那么查CPU活动,-A=-bBdqrRSvwWy -I SUM -I XALL –n ALL -u ALL -P ALL.

选项:

-A               和-bBdqrRSuvwWy -I SUM -I XALL –n ALL -u ALL -P ALL相同

-b               报告io传输率统计

-B               报告分页信息,2.5内核版本之后才可用

-C               从文件中读取时,让sar显示由sabc输入的comment

-d               报告每个块设备(2.4内核之后),dev列中,为devm-n,m为major,n为minor,在2.5之前只是一个顺序值。加-p参数dev会显示的比较可读。用-j来指定设备名类型。

注意,磁盘活动依赖与sabc选项 –S DISK或-S XDISK。

-e               设置报告的结束时间,默认结束时间是18:00:00,24小时制,这个选项可以在读写文件的时候使用,-f,-o

-f                从文件中读取,这个文件由-o创建,默认为/var/log/sa/sadd。

-h               帮助

-i                和直接用[interval]类似,获取数据间隔。

-I                统计中断发送int [,...] | SUM | ALL | XALL },int+终端号指定查询某个特定的中断,SUM对所有中断合计,ALL 前16个中断,XALL统计所有中断。

-j                { ID | LABEL | PATH | UUID | ... }指定设备名类型

--legacy    启用读老的/var/log/sa/sadd文件。RH6.3之后修改了/var/log/sa/sadd文件的格式。

-m              报告CPU频率统计,依赖于sabc选项-S POWER

-n               { keyword [,...] | ALL }网络统计报告,这里的关键字为:DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 和UDP6.

-o               输出的二进制文件,默认为/var/log/sa/sadd,可以用-f读取来分析

-P               { cpu [,...] | ALL }返回指定cpu的统计信息,指定ALL则为全部

-p               让设备名更加可读,会把devm-n转化为可读的设备名。和iostat –N用法类似

-q               报告队列长度和负荷平均值

-r                内存使用报告

-R               内存统计报告

-s               [ hh:mm:ss ]设置sar抓数据开始时间默认08:00:00,用-f来读取生成的数据

-S               Swap空间使用报告

-t                在从文件读取时,使用文件的创建时的日期,如果不加则使用机器本地的日期(试了一下没啥变化)

-u               [ ALL ]CPU使用率报告,通过ALL可以显示全部字段

-v               报告inode,file,其他内核表,

-V               查看版本号

-w              系统切换计数报告

-W             swap切换报告

-y               报告TTY活动

报告:

I/O模式(-b)

tps

每秒钟发送在物理设备上的传输次数

rtps

每秒钟发送在物理设备上的读的传输次数

wtps

每秒钟发送在物理设备上的写传输次数

bread/s

每秒钟读取block的个数,2.4内核和扇区相同,2.4之后是512B,老的内核不确定。

bwrtn/s

每秒钟写入block个数

内存页模式(-B)

pgpgin/s

从磁盘中pagein的KB,来的内核2.2.X是blocks/s

pgpgout/s

pageout到从盘的KB,来的内核2.2.X是blocks/s

fault/s

每秒页错误次数,major+minor次数,major引起物理io,minor不引起物理io

majflt/s

每秒major页错误次数,发送IO

pgfree/s

每秒被放到free list的页个数

pgscank/s

每秒被kswapd daemon扫描的页个数

pgscand/s

每秒直接被扫描的页个数

pgsteal/s

为了保证内存需求的安全,每秒从cache(pagecache,swapcache)回收的页数

%vmeff

%vmeff=pgsteal/pgscan,反应了页回收效率,如果接近100%,那么就表示页基本上来至于不活动队列尾(tail of inactive list),如果百分比很低(少于30%),那么虚拟内存有点困难,如果为0表示每秒被扫描页为0.

块设备模式(-d)

tps

每秒钟发送到设备的传输次数

rd_sec/s

每秒钟从设备上读取的扇区数,512B

wr_sec/s

每秒钟写入到设备上的扇区数,512B

avgrq-sz

平均请求的扇区数

avgqu-sz

平均请求的设备队列长度

await

从I/O请求到被完成花的平均时间,包含花费在队列里面的时间和执行时间。

svctime

I/O请求被执行的时间

%util

当请求I/O发生的时候,cpu的使用率(就是设备使用的带宽),当设备饱和,CPU会接近100%。

Power模式(-m)

MHz

cpu频率

网络模式(-n)

略

队列长度和平均负荷(-q)

runq-sz

运行队列长度(等待run time的任务个数)

plist-sz

任务列表中的任务个数

ldavg-1

最近1分钟内系统负荷平均值,负荷平均值=特定间隔内可运行的任务(R状态)+不可中断睡眠的任务(D状态)

ldavg-5

最近5分钟系统负荷平均值

ldavg-15

最近15分钟系统负荷平均值

内存使用模式(-r)

kbmemfree

可用内存量单位kb

kbmemused

被使用的内存kb,不计算被内核使用的内存

%memused

内存使用百分比

kbbuffer

被内核作为buffer使用的内存单位kb

kbcached

被内核当cache使用的内存单位kb

kbcommit

当前工作负荷要使用的内存。用来评估需要多少RAM/swap来保证不会超出内存

%commit

当前需要的内存/RAM+swap,要保证大于100%,因为内核通常都overcommit内存。

内存统计模式(-R)

frmpg/s

每秒内存释放的页数。负数说明系统分配的页数,注意根据机器结构不同页大小也不同,4kb或者8kb。

bufpg/s

每秒buffer使用额外的page数,负数表示buffer使用的页数变小。

campg/s

每秒cache使用额外的page数,负数表示cache页数变小。

Swap空间使用模式(-S)

kbswpfree

swap空间可用大小单位kb

kbswpused

已经被使用的swap空间kb

%swpused

使用百分比

kbswpcad

swap内容被缓存在内存的kb (amount of cached swap memory in kilobytes)。这个内存是被换出,但是换入的时候依然在swap空间内的。如果需要内存,就不需要换出了,因为已经在swap了可以减少I/O。

%swpcad

swap被缓存在内存的数据占swap使用总空间的比率

CPU使用率(-u)

%user

用户级别程序使用的cpu比率,这个值包含虚拟处理器使用的时间

%usr

用户级别程序使用的cpu比率,这个值不包含虚拟处理器使用的时间

%nice

nice优先级用户级应用程序的cpu比率

%system

系统级(内核)cpu使用率,包含服务硬件的有时间和软件中断的时间

%sys

系统级(内核)cpu使用率,不包含服务硬件的有时间和软件中断的时间

%iowait

CPU空闲,并且有未完成I/O的时间

%steal

当hypervisor 为另外一个虚拟处理器提供服务的时候,无意识的等待虚拟 C     PU或者CPU 的比率

%irq

CPU服务硬件中断的时间

%soft

CPU服务软终端的时间

%guest

用户服务虚拟处理器时间

%idle

CPU空间,并且没有未完成的磁盘I/O请求

inode,file,内核表状态(-v)

dentunusd

目录cache中没有使用的项

file-nr

系统所使用的文件句柄个数

inode-nr

inode句柄个数

pty-nr

pseudo-terminals使用的数量

系统切换(-w)

proc/s

每秒进程创建个数

cswch/s

每秒上面文切换次数

swap切换(-W)

pswpin/s

每秒swap in的页数

pswpout/s

每秒swap out的页数

TTY设备报告(-y)

略

参考:

Linux进程状态(ps stat)之R、S、D、T、Z、X

[Linux 性能检测工具]SAR的更多相关文章

  1. [Linux 性能检测工具]PIDSTAT

    PIDSTAT NAME pidstat对linux任务的统计 语法 pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] ...

  2. linux性能检测工具

  3. [Linux 性能检测工具]TOP

    TOP NAME 显示linux任务 语法 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] 描述 top程序提供了系统实时 ...

  4. [Linux 性能检测工具]FREE

    FREE NAME free显示系统可用内存和已使用内存 语法 free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V] 描述 free显示了总可用和被用 ...

  5. [Linux 性能检测工具]IOSTAT

    IOSTAT NAME:          Iostat, 报告CPU的统计,和 I/O的统计. 语法: iostat  [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k ...

  6. [Linux 性能检测工具]DF

    DF NAME: df 报告了文件系统的使用 语法: df [OPTION]... [FILE]... 描述: Df显示了以文件名为从参数查看所在文件系统的可用空间.如果没有指定文件那么会显示所有的文 ...

  7. [Linux 性能检测工具]VMSTAT

    VMSTAT NAME:          Vmstat: 报告虚拟内存统计 语法 :        vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] ...

  8. Linux 性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  9. [转]Linux性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

随机推荐

  1. Java中用户界面布局

    绝对布局Absolute 通过放大或缩小界面的时候,组件大小和位置不会发生变化 浮动布局FlowLayout 调整应用程序窗口的大小时,组件将立刻重新排列 边界布局Border Layout 该位置有 ...

  2. spring 使用redis集群配置

    上面两篇介绍了redis集群的配置合一些基本的概念,所以接下来当然是要在项目中使用咯,redis的java支持已经做的非常好了,所以我们来试着使用这些api来进行redis的操作,首先我们需要操作re ...

  3. Scalaz(46)- scalaz-stream 基础介绍

    scalaz-stream是一个泛函数据流配件库(functional stream combinator library),特别适用于函数式编程.scalar-stream是由一个以上各种状态的Pr ...

  4. 容器--WeakHashMap

    一.概述 WeakHashMap是Map的一种,根据其类的命令可以知道,它结合了WeakReference和HashMap的两种特点,从而构造出了一种Key可以自动回收的Map. 前面我们已经介绍了W ...

  5. Guava学习笔记:Guava新增集合类型-Bimap

    BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构. 通常情况下,我们在使用Java的Map时,往往是通过key来查找value的,但是如果出现下面一种场景的情况,我们就 ...

  6. Mysql优化的几点总结

    正常情况下,初创公司的流量并不是很大,mysql数据库在未做优化的情况依然可以满足性能要求,特别是5.6版本后mysql在性能上还是有了很大提升,所以在初期并没有花精力在此上面.但后来发生的一系列问题 ...

  7. textview滑动效果

    网上很多在xml中改的我经过试验没用,可能是版本不兼容的原因,但在java代码中改有用head_tv1.setEllipsize(TextUtils.TruncateAt.MARQUEE);head_ ...

  8. 七个结构模式之适配器模式(Adapter Pattern)

    定义: 将一个接口转换为客户需要的另外一个接口,使接口不兼容的类型可以一起工作,也被称为包装器模式(Wrapper Patern). 结构图: Target:目标抽象类,客户所需要的接口. Adapt ...

  9. 基于jQuery的ajax对WebApi和OData的封装

    基于jQuery的ajax对WebApi和OData的封装 WebApi 的使用带来了一个显著的特点,对type有一定的要求.一般ajax的type无非就是两种,GET和POST.如果用JSONP来跨 ...

  10. css权重

    1.行内样式,指的是html文档中定义的style <h1 style="color: #fff;">header</h1> 2.ID选择器 3.类,属性选 ...