sar看历史负载

查看历史负载

//查看指定文件CPU使用记录
#sar -f /var/log/sa/sa03
00:00:01 CPU %user %nice %system %iowait %idle
00:10:01 all 52.32 0.00 30.92 1.40 15.37
00:20:01 all 50.11 0.00 28.97 0.82 20.10
00:30:01 all 45.94 0.00 26.23 0.88 26.95
00:40:02 all 44.92 0.00 25.54 0.81 28.73
00:50:01 all 45.34 0.00 26.17 0.77 27.72
01:00:01 all 43.23 0.00 24.85 0.94 30.97
01:10:01 all 43.65 0.00 25.15 0.84 30.36
01:20:01 all 43.13 0.00 24.99 0.92 30.96

//查看指定文件1/5/15分钟平均负载记录
#sar -q -f /var/log/sa/sa03
00:00:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00:10:01 5 330 15.00 17.72 17.09
00:20:01 4 331 8.02 13.84 16.11
00:30:01 4 331 17.79 13.42 14.56
00:40:02 12 332 11.66 12.31 13.51
00:50:01 3 326 13.88 12.23 12.90
01:00:01 26 337 10.10 12.03 12.42
01:10:01 8 334 12.34 10.78 11.46
01:20:01 13 329 10.00 11.58 11.49

//查看指定文件7点到9点CPU使用记录,如要看负载加参数-q
#sar -s 07:00:00 -e 10:00:00 -f /var/log/sa/sa03
07:00:01 CPU %user %nice %system %iowait %idle
07:10:01 all 42.39 0.00 23.54 0.64 33.43
07:20:01 all 41.42 0.00 24.47 0.77 33.34
07:30:01 all 42.93 0.00 25.55 0.75 30.77
07:40:01 all 50.33 0.00 29.08 0.66 19.92
07:50:01 all 51.40 0.00 30.30 0.69 17.61
08:00:01 all 47.63 0.00 28.37 0.66 23.34
08:10:01 all 44.23 0.00 26.30 0.71 28.76
08:20:01 all 43.46 0.00 24.58 0.58 31.37
08:30:01 all 43.86 0.00 26.06 0.60 29.49
08:40:01 all 44.80 0.00 26.86 0.66 27.67
08:50:02 all 47.46 0.00 27.16 0.51 24.87
09:00:01 all 46.10 0.00 27.61 0.47 25.81
09:10:01 all 46.95 0.00 27.95 0.69 24.40
09:20:02 all 49.30 0.00 28.27 0.79 21.64
09:30:01 all 49.99 0.00 29.07 0.64 20.30
09:40:01 all 51.41 0.00 30.75 0.52 17.32
09:50:01 all 51.49 0.00 30.20 0.66 17.65
Average: all 46.77 0.00 27.42 0.65 25.16

安装sysstat工具包后会自动每10分钟采集一次
脚本在/etc/cron.d/sysstat
默认只保留7天的文件
要保留更长时间要修改配置文件
有人觉得是修改/etc/sysconfig/sysstat这个文件,其实不是的
应该是/usr/lib/sa/sa2(64位/usr/lib64/sa/sa2),来看看里面的代码
HISTORY=7
[ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat
[ ${HISTORY} -gt 28 ] && HISTORY=28
#就是这个了,如果sysstat文件设置了历史天数超过28天就不会生效的
超过28天就要修改这个地方了。

命令介绍

不要小看这个命令,它能够让你对系统运行情况了如指掌。

细化补充:
-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

内存分页监控:
sar -r -f /var/log/sa29 //查看历史内存
kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

内存分页监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

sar -B 10 3
输出项说明:

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

I/O和传送速率监控

每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

sar -b 10 3

屏幕显示如下:

18:51:05 tps rtps wtps bread/s bwrtn/s

18:51:15 0.00 0.00 0.00 0.00 0.00

18:51:25 1.92 0.00 1.92 0.00 22.65

18:51:35 0.00 0.00 0.00 0.00 0.00

Average: 0.64 0.00 0.64 0.00 7.59

输出项说明:

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

6. 进程队列长度和平均负载状态监控

例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

sar -q 10 3

屏幕显示如下:

19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15

19:26:00 0 259 0.00 0.00 0.00

19:26:10 0 259 0.00 0.00 0.00

19:26:20 0 259 0.00 0.00 0.00

Average: 0 259 0.00 0.00 0.00

输出项说明:

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

7. 系统交换活动信息监控

例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:

sar - W 10 3

屏幕显示如下:

19:39:50 pswpin/s pswpout/s

19:40:00 0.00 0.00

19:40:10 0.00 0.00

19:40:20 0.00 0.00

Average: 0.00 0.00

输出项说明:

pswpin/s:每秒系统换入的交换页面(swap page)数量

pswpout/s:每秒系统换出的交换页面(swap page)数量

8. 设备使用情况监控

例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:

# sar -d 10 3 –p

屏幕显示如下:

17:45:54 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

17:46:04 scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

17:46:04 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

17:46:04 vg_livedvd-lv_root 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

17:46:04 vg_livedvd-lv_swap 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

其中:

参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.

rd_sec/s:每秒读扇区的次数.

wr_sec/s:每秒写扇区的次数.

avgrq-sz:平均每次设备I/O操作的数据大小(扇区).

avgqu-sz:磁盘请求队列的平均长度.

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.

%util:I/O请求占CPU的百分比,比率越大,说明越饱和.

\1. avgqu-sz 的值较低时,设备的利用率较高。

\2. 当%util的值接近 1% 时,表示设备带宽已经占满。

inode、文件和其他内核表监控

例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

sar -v 10 3

屏幕显示如下:

17:10:49 dentunusd file-nr inode-nr pty-nr

17:10:59 6301 5664 12037 4

17:11:09 6301 5664 12037 4

17:11:19 6301 5664 12037 4

Average: 6301 5664 12037 4

输出项说明:

dentunusd:目录高速缓存中未被使用的条目数量

file-nr:文件句柄(file handle)的使用数量

inode-nr:索引节点句柄(inode handle)的使用数量

pty-nr:使用的pty数量

查看页面交换发生状况
sar -W
页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用这个命令来确认是否发生了大量的交换;
pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量

输出保存及命令介绍

1.sar是做什么的?
主要负责收集、汇报与存储系统运行信息。

2.sar怎么控制信息输出的时间间隔和次数?
有两个参数非常有用,就是“时间间隔”和“输出次数”。

例如:sar 0 表示输出的信息是从开机到现在为止的平均值
sar 60 5 表示每60秒输出一次,共输出5次,历时300秒。
sar 60 0 表示每60秒输出一次,一直到关机为止。注意:sar 0 0 这样是行不通的。

3.保存sar输出的信息
sar提供了一个选项:-o filename。

例如:sar 5 6 -o sys_info
sar -f sys_info 用于读取存储的信息文件,不能使用cat,否则将显示乱码。

4.如果没有在使用-o时指定保存的文件名,sar会将信息保存在“/var/log/saDD”文件中,其中DD表示当天的日期数字。

例如:sar 5 6 -o
就会保存在/var/log/sa/sa27文件中,当前日期是2011年6月27日。

5.sar输出查看cpu之外的信息
常用选项包括:
-b:报告I/O使用情况以及传输速率。(只适用于2.5及之前的内核,所以新内核有可能不支持这个选项)
-B:报告“页”使用情况
-c:报告进程创建情况
-d:报告每一个块设备的使用情况(当你使用时,你会发现在DEV列有类似dev1-7格式的字符串,其中1代表设备的主序号,n代表设备的从序号,而且rd_sec/s列和wr_sec/s列的单位都是512bytes,也就是512B,也就是0.5KB)
-I:汇报中断情况
-n:汇报网络情况
-P:设定CPU
-q:汇报队列长度和负载信息
-r:汇报内存和交换区使用情况
-R:汇报内存情况
-u:汇报CPU使用情况
-v:汇报i节点、文件和其他内核表信息
-w:汇报系统上下文切换情况
-x:可以针对某个特定PID给出统计信息,
可以直接指定进程ID号;
也可以指定为SELF,这样就是检测sar进程本身;
如果设定为ALL,则表示汇报所有系统进程信息。
-X:汇报特定PID的子进程的信息
-y:设定TTY设备的信息。

6.对网络的专门实例
sar命令使用-n选项可以回报网络相关信息,可用参数包括:DEV、EDEV、SOCK、FULL。

例如:sar -n DEV 1 2 将显示lo、eth0、eth1等信息
IFACE:就是网络设备的名称;
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目

sar -n EDEV 1 3 会针对网络设备回报其失败情况
rxerr/s:每秒钟接收到的损坏的包的数目
txerr/s:当发送包时,每秒钟发生的错误数
coll/s:当发送包时,每秒钟发生的冲撞(collisions)数(这个是在半双工模式下才有)
rxdrop/s:由于缓冲区满,网络设备接收端,每秒钟丢掉的网络包的数目
txdrop/s:由于缓冲区满,网络设备发送端,每秒钟丢掉的网络包的数目
txcarr/s:当发送数据包时,每秒钟载波错误发生的次数
rxfram/s:在接收数据包时,每秒钟发生的帧对齐错误的次数
rxfifo/s:在接收数据包时,每秒钟缓冲区溢出错误发生的次数
txfifo/s:在发送数据包时,每秒钟缓冲区溢出错误发生的次数

sar -n SOCK 1 3 会针对socket连接进行汇报
totsck:被使用的socket的总数目
tcpsck:当前正在被使用于TCP的socket数目
udpsck:当前正在被使用于UDP的socket数目
rawsck:当前正在被使用于RAW的socket数目
ip-frag:当前的IP分片的数目

sar -n FULL 1 3 相当于上述DEV、EDEV和SOCK三者的综合。

7.对磁盘的专门实例
-d的输出显示了一个度量时间段内各种与磁盘相关的统计数据

参考链接:
http://blog.chinaunix.net/uid-20773865-id-2241402.html
https://blog.csdn.net/blade2001/article/details/39959889?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162495712816780262557027%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162495712816780262557027&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-39959889.pc_search_result_before_js&utm_term=sar%E7%9C%8B%E5%8E%86%E5%8F%B2%E8%B4%9F%E8%BD%BD&spm=1018.2226.3001.4187

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值