zoukankan      html  css  js  c++  java
  • [Linux 性能检测工具]SAR

    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命令会把收集到的系统活动信息写入到标准输出。收集到的值根据intervalcount不同而不同,如果没有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-nmmajornminor,在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               报告inodefile,其他内核表,

    -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

                                从磁盘中pageinKB,来的内核2.2.Xblocks/s

                       pgpgout/s

                                pageout到从盘的KB,来的内核2.2.Xblocks/s

                       fault/s

                                每秒页错误次数,major+minor次数,major引起物理iominor不引起物理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请求

             inodefile,内核表状态(-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)RSDTZX

     

  • 相关阅读:
    【ES6】数组的扩展——扩展运算符
    【ES6】函数的扩展
    菜鸡程序员是如何写代码的?
    我是技术总监,我出来求职,竟然找不到工作!
    为什么互联网公司天天都在招人?
    这个立冬,我线下面基了一位TMD高级专家,太牛逼了!
    太可怕了!有些码农为啥写代码,写到监狱里去了?
    56岁潘石屹生日当天宣布要学编程语言Python,网友:地产商来抢码农饭碗了!
    如何写出让同事无法维护的代码?
    hdu 1037 Keep on Truckin'
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/3745680.html
Copyright © 2011-2022 走看看