[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命令会把收集到的系统活动信息写入到标准输出。收集到的值根据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 性能检测工具]SAR的更多相关文章
- [Linux 性能检测工具]PIDSTAT
PIDSTAT NAME pidstat对linux任务的统计 语法 pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] ...
- linux性能检测工具
- [Linux 性能检测工具]TOP
TOP NAME 显示linux任务 语法 top -hv | -abcHimMsS -d delay -n iterations -p pid [, pid ...] 描述 top程序提供了系统实时 ...
- [Linux 性能检测工具]FREE
FREE NAME free显示系统可用内存和已使用内存 语法 free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V] 描述 free显示了总可用和被用 ...
- [Linux 性能检测工具]IOSTAT
IOSTAT NAME: Iostat, 报告CPU的统计,和 I/O的统计. 语法: iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k ...
- [Linux 性能检测工具]DF
DF NAME: df 报告了文件系统的使用 语法: df [OPTION]... [FILE]... 描述: Df显示了以文件名为从参数查看所在文件系统的可用空间.如果没有指定文件那么会显示所有的文 ...
- [Linux 性能检测工具]VMSTAT
VMSTAT NAME: Vmstat: 报告虚拟内存统计 语法 : vmstat [-a] [-n] [-t] [-S unit] [delay [ count]] ...
- Linux 性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
- [转]Linux性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
随机推荐
- 孙鑫MFC学习笔记4:MFC画图
1.画线方法 *1.捕获鼠标按下和弹起消息,获取两个点 *2.消息响应,画线 2.在CMainFrame类中的鼠标左键事件得不到响应的原因是CNameView覆盖了CMainFrame 3.注释宏 4 ...
- JavaWeb前端基础复习笔记系列 二
课程:孔浩前端视频教程(JavaScript系列:1~5讲) <html> <head> <title></title> <!--html只负责显 ...
- 《Head First Java》——认识变量
对象的引用 Book b = new Book(); Book c = new Book(); Book d = c; // 声明新的Book引用变量,但不创建新的 ...
- 高效 Java Web 开发框架 JessMA v3.3.1 正式发布
JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...
- Volatile实现原理
volatile 在多线程上volatile 是synchronized 轻量级实现.在多核处理器开发中保证了共享变量的"可见性".可见性是指当一个线程修改一个共享变量的时候,另外 ...
- liMarquee演示12种不同的无缝滚动效果
很实用的一款liMarquee演示12种不同的无缝滚动效果 在线预览 下载地址 实例代码 <!DOCTYPE html> <html lang="zh-CN"&g ...
- JAVASCRIPT实现简单计算器
最终效果如下图-2,有bug:就是整数后点击%号结果正确,如果小数后面点击%的话结果就错误!其他都正常,求指点:input的value是string类型的,在JS中改如何正确处理下图-1中的if部分? ...
- C#关于word文档的书签替换操作
public void Get_Word(string gjbh) { try { DataSet ds = OperaterBase.GetDsBySql("select diffTabl ...
- HTML标签的嵌套规则
我在平时在写html文档的时候,发现不太清楚标签之间的嵌套规则,经常是想到什么标签就用那些,后来发现有些标签嵌套却是错误的.通过网上找资料,了解了html标签的嵌套规则. 一.HTML 标签包括 块级 ...
- EXCEL快速自动填充方法集锦
EXCEL快速自动填充方法集锦 原文地址,转载请注明:http://www.cnblogs.com/croso/p/5396841.html 方法一: 名称框输入a1:a1000回车,1, ctrl+ ...