关闭

sar/sysstat:10个非常有用的监控UNIX/Linux性能的sar用例

标签: linuxsar性能分析监控sysstat
1202人阅读 评论(0) 收藏 举报
分类:
http://www.thegeekstuff.com/2011/03/sar-examples/
使用sar可以实时监控Linux系统的多项性能指标如CPU、Memory、I/O等。
sar是sysstat包的一部分。
本文主要介绍怎样安装和配置sysstat包(包含sar),如何用sar监控以下的Linux性能统计:
1. 聚合的CPU使用率
2. 单个的CPU使用率
3. 内存使用量和可用量
4. 交换空间使用量和可用量
5. 系统整体的I/O活动
6. 单个设备的I/O活动
7. 上下文切换统计
8. 运行队列和负载数据
9. 网络统计
10. 在一个特定时间report sar的数据

1. 安装和配置sysstat
sudo apt-get install sysstat
(or)
yum install sysstat
(or)
rpm -ivh sysstat-10.0.0-1.i586.rpm
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-10.0.0.tar.bz2
tar xvfj sysstat-10.0.0.tar.bz2
cd sysstat-10.0.0
./configure --enable-install-cron
make
make install
--enable-install-cron选项自动做了一些开机自启动配置。
简单测试,统计3次CPU使用率周期为1秒:
sar 1 3
Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:27:32 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
Average:          all      0.33      0.00      0.17      0.00      0.00     99.50

Sysstat的工具集:
sar 收集和展示所有的系统活动统计
sadc 是sar的后端工具负责进行数据收集
sa1 存储系统活动到二进制数据文件中,sa1依赖sadc。从cron运行。
sa2创建每日统计的总结。从cron运行。
sadf可以以CSV、 XML或其他格式生成sar的report。
iostat生成CPU和I/O统计
mpstat显示CPU统计
pidstat基于PID来报告统计(监控每个进程CPU、内存等开销,配合-u -r -d等参数)
nfsiostat显示NFS I/O统计
cifsiostat生成CIFS统计

本文主要关注sysstat基本功能和sar工具。


2. 10个典型的sar用例
两种方式调用sar,一种是不指定saXX数据文件,一种是-f /var/log/sa/saXX指定某一天的数据文件。
1)聚合的ALL CPU使用率
$ sar -u 1 3
给出所有CPU累加的实时的CPU使用率。“1 3”代表每1秒统计一次共3次。sar -u ALL还显示额外的指标项。-f /var/log/sa/sa10从sa10文件中统计当月第10天的数据。
05:35:54 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
05:35:55 PM     all      0.04      0.00      0.08      0.08      0.00     99.80
05:35:56 PM     all      0.06      0.00      0.17      0.06      0.00     99.72
05:35:57 PM     all      0.03      0.00      0.06      0.00      0.00     99.91
Average:        all      0.04      0.00      0.09      0.04      0.00     99.82

2)单个CPU或core的使用率
-P ALL显示所有的cores,-P 1则只显示对应编号1的core。
$ sar -P ALL 1 1
05:40:50 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
05:40:51 PM     all      0.04      0.00      0.04      0.00      0.00     99.93
05:40:51 PM       0      0.00      0.00      0.00      0.00      0.00    100.00
05:40:51 PM       1      0.00      0.00      0.00      0.00      0.00    100.00
05:40:51 PM       2      0.00      0.00      0.00      0.00      0.00    100.00
05:40:51 PM       3      0.00      0.00      0.00      0.00      0.00    100.00

3)内存空闲和使用
$ sar -r 1 3
09:33:21 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
09:33:22 PM  12703184   3621840     22.19    265404   1408460   3646872      7.43
09:33:23 PM  12703464   3621560     22.18    265404   1408460   3646872      7.43
09:33:24 PM  12703464   3621560     22.18    265404   1408460   3646872      7.43
Average:     12703371   3621653     22.18    265404   1408460   3646872      7.43

4)交换空间使用量
$ sar -S 1 3
07:31:06 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
07:31:07 AM   8385920         0      0.00         0      0.00
07:31:08 AM   8385920         0      0.00         0      0.00
07:31:09 AM   8385920         0      0.00         0      0.00
Average:      8385920         0      0.00         0      0.00

注意:
使用sar -R、-H、-B、-W还可以监控内存页信息。

5. 整体的I/O活动
tps - 每秒的transactions(包括读和写)
rtps - 每秒的读transactions
wtps - 每秒的写transactions
bread/s - 每秒读字节数
bwrtn/s - 每秒写字节数
$ sar -b 1 3 
09:39:13 PM       tps      rtps      wtps   bread/s   bwrtn/s
09:39:14 PM      0.00      0.00      0.00      0.00      0.00
09:39:15 PM      0.00      0.00      0.00      0.00      0.00
09:39:16 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00

注意:使用sar -v显示inode handlers、file handlers、伪终端pseudo-terminals的数量

6. 单个的块设备的I/O活动
$ sar -d 1 1
09:41:08 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:41:09 PM    dev8-0     17.00      0.00    144.00      8.47      0.37     21.53      1.76      3.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0     17.00      0.00    144.00      8.47      0.37     21.53      1.76      3.00
”DEV“指代了特定块设备,比如dev53-1意思是主设备号为53,辅设备号为1。
DEV还可以显示成真正的设备名如sda,使用-p参数即可。
$ sar -p -d 1 1
09:43:39 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:43:40 PM       sda      5.05      0.00     40.40      8.00      0.07     13.20      4.20      2.12

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:          sda      5.05      0.00     40.40      8.00      0.07     13.20      4.20      2.12

7. 显示没秒上下文切换
该项报告了每秒进程创建总数和上下文切换总数。
$ sar -w 1 3
09:44:57 PM    proc/s   cswch/s
09:44:58 PM      0.00   2778.00
09:44:59 PM      0.00   2776.00
09:45:00 PM      0.00   2668.32
Average:         0.00   2740.53

8. 报告运行队列和平均负载
运行队列大小和1分钟、5分钟、15分钟平均负载。
$ sar -q 1 3
09:46:09 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
09:46:10 PM         0       734      0.10      0.12      0.08
09:46:11 PM         0       732      0.10      0.12      0.08
09:46:12 PM         1       732      0.10      0.12      0.08
Average:            0       733      0.10      0.12      0.08

9. 报告网络统计
多种网络信息统计,比如接收到的包数量、失败包数量等等。
$ sar -n KEYWORD
KEYWORD可以是:
DEV - 网络设备eth0、eth1等的关键统计信息
EDEV - 网络设备failure统计
NFS - NFS客户端活动
NFSD - NFS服务器活动
SOCK - 使用IPv4的sockets
IP - IPv4网络流量
EIP - IPv4网络错误
ICMP - ICMPv4网络流量
EICMP - ICMPv4网络错误
TCP - TCPv4网络流量
ETCP - TCPv4网络错误
UDP - UDPv4网络流量
SOCK6, IP6, EIP6, ICMP6, UDP6,
ALL - 显示所有的信息
$ sar -n DEV 1 1
09:51:14 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:51:15 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:15 PM      eth0      4.00      0.00      0.27      0.00      0.00      0.00      0.00
09:51:15 PM      eth1      2.00      0.00      0.12      0.00      0.00      0.00      0.00
09:51:15 PM    virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:51:15 PM virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      4.00      0.00      0.27      0.00      0.00      0.00      0.00
Average:         eth1      2.00      0.00      0.12      0.00      0.00      0.00      0.00
Average:       virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10. 使用Start Time报告sar数据
当你从/var/log/sa/saXX文件查看历史的sar数据时,使用sar -f 选项,它会显示该文件所属当天12:00 a.m开始的sar数据。
使用”-s hh:mi:ss“选项,指定一个起始时间。
$ sar -q -f /var/log/sa/sa07 -s 10:00:01
-q选项是显示负载统计。
10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
10:10:02 AM         0       737      0.03      0.02      0.00
10:20:01 AM         0       738      0.02      0.02      0.00
10:30:01 AM         0       737      0.08      0.05      0.01
10:40:01 AM         0       739      0.05      0.12      0.08
10:50:01 AM         0       740      0.21      0.09      0.07
11:00:01 AM         0       740      0.00      0.02      0.03
11:10:01 AM         0       741      0.00      0.01      0.00
11:20:01 AM         0       742      0.03      0.03      0.00
只想看前面7条的话再添加管道命令 | head -n 10  (注意,前面3行不是统计数据而是表头)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:87180次
    • 积分:1451
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:18篇
    • 译文:2篇
    • 评论:9条
    最新评论