Linux/UNIX 10个有用的Sar命令监控系统性能的例子

使用sar命令可以实时监控各个子系统的性能(CPU, Memory, I/O..)。
使用sar可以收集系统运行时的性能数据,保存后做一些历史数据的分析,找到系统瓶颈。
sar命令属于sysstat包。

本文介绍如何安装、配置sysstat包(包含sar命令工具)和监控以下系统性能。
1.所有CPU使用情况
2.单个CPU性能数据
3.内存使用情况
4.交换空间(swap space)使用情况
5.IO情况
6.单个设备的I/O活动情况
7.上下文切换数据
8.运行队列和平均负载数据
9.网络数据
10.展示特定时间的sar数据

安装配置部分省略,大部分系统自带sysstat包,也可以看原文链接http://www.thegeekstuff.com/2011/03/sar-examples/

有两种方式调用sar命令
1.sar后面跟参数,如sar -u
2.sar后面跟参数和用-f选项指定一个saXX数据文件,xx代表本月某一天的日期,如sar -u -f /var/log/sa/saXX

从上面可以参数,sar其实用读一个保存了系统性能数据的文件,格式化好后展示出来,没有-f读取当天的文件,可以使用 ls /var/log/sa看下具体文件。

[oracle@hgora11g ~]$ ls /var/log/sa
sa01  sa05  sa10  sa14  sa18  sa22  sa26  sa30   sar03  sar08  sar12  sar16  sar20  sar24  sar28
sa02  sa06  sa11  sa15  sa19  sa23  sa27  sa31   sar04  sar09  sar13  sar17  sar21  sar25  sar29
sa03  sa07  sa12  sa16  sa20  sa24  sa28  sar01  sar05  sar10  sar14  sar18  sar22  sar26  sar30
sa04  sa09  sa13  sa17  sa21  sa25  sa29  sar02  sar06  sar11  sar15  sar19  sar23  sar27  sar31
不同参数的输出都有着相同的第一行

[oracle@hgora11g ~]$ sar -u
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      0.58      0.00      0.17      0.02      0.00     99.24
12:20:01 AM     all      0.36      0.00      0.14      0.01      0.00     99.48
12:30:01 AM     all      0.43      0.00      0.16      0.01      0.00     99.39
12:40:01 AM     all      0.38      0.00      0.16      0.01      0.00     99.45
12:50:01 AM     all      0.38      0.00      0.15      0.01      0.00     99.46
01:00:01 AM     all      0.47      0.00      0.16      0.01      0.00     99.36
......
10:50:01 AM     all      0.40      0.00      0.21      0.01      0.00     99.38
Average:        all      0.42      0.00      0.16      0.01      0.00     99.40

Linux 2.6.32-431.el6 – Linux内核版本.
(hgora11g) – 主机名.
06/07/2017 – 数据统计日期.
x86_64 – 系统架构
(8 CPU) – 可以cpu个数,多核心的cpu指的是核心数

10个例子

1.所有CPU使用情况
每一秒进行1次采样,共3次

[oracle@hgora11g ~]$ sar -u 1 3
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

10:58:17 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
10:58:18 AM     all      1.50      0.00      0.38      0.00      0.00     98.12
10:58:19 AM     all      0.75      0.00      0.38      0.00      0.00     98.87
10:58:20 AM     all      0.13      0.00      0.13      0.00      0.00     99.75
Average:        all      0.79      0.00      0.29      0.00      0.00     98.91
一些其他用法:
    sar -u 统计截止到当前时间的当天的数据.
    sar -u 1 3 每一秒进行1次采样,共3次.
    sar -u ALL 和 “sar -u” 一样,但是会多一点信息.
    sar -u ALL 1 3 每一秒进行1次采样,共3次,但是会多一点信息.
    sar -u -f /var/log/sa/sa10 展示文件sa10里的数据.


2.单个CPU性能数据
-P ALL 展示所有cpu数据

[oracle@hgora11g ~]$ sar -P ALL 1 1
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:09:25 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:09:26 AM     all      0.25      0.00      0.13      0.00      0.00     99.62
11:09:26 AM       0      0.00      0.00      0.00      0.00      0.00    100.00
11:09:26 AM       1      0.00      0.00      0.00      0.00      0.00    100.00
11:09:26 AM       2      0.99      0.00      0.00      0.00      0.00     99.01
11:09:26 AM       3      1.02      0.00      0.00      0.00      0.00     98.98
11:09:26 AM       4      0.00      0.00      0.00      0.00      0.00    100.00
11:09:26 AM       5      0.00      0.00      0.00      0.00      0.00    100.00
11:09:26 AM       6      0.00      0.00      0.00      0.00      0.00    100.00
11:09:26 AM       7      0.00      0.00      0.00      0.00      0.00    100.00
-P 1展示第2个cpu的数据

[oracle@hgora11g ~]$ sar -P 1 1 1
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:12:19 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:12:20 AM       1      0.00      0.00      0.00      0.00      0.00    100.00
Average: 
一些其他用法:
    sar -P ALL 所有cpu当天的数据.
    sar -P ALL 1 3 所有cpu,3次间隔1s的数据.
    sar -P 1 取1号cpu当天数据.
    sar -P 1 1 3 取1号cpu,3次间隔1s的数据.
    sar -P ALL -f /var/log/sa/sa10 展示sa10文件里面所有cpu数据.


3.内存使用情况
3次间隔1s的数据,关注kbmemfree和kbmemused指标,表示可用和已使用内存空间。

[oracle@hgora11g ~]$ sar -r 1 3
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:16:21 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
11:16:22 AM    321988  16013780     98.03    292272  12841692   9041468     36.79
11:16:23 AM    317220  16018548     98.06    292272  12841692   9048220     36.82
11:16:24 AM    315524  16020244     98.07    292272  12841692   9056340     36.85
Average:       318244  16017524     98.05    292272  12841692   9048676     36.82
一些其他用法:
    sar -r
    sar -r 1 3
    sar -r -f /var/log/sa/sa10


4.交换空间(swap space)使用情况

[oracle@hgora11g ~]$ sar -S 1 3
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:19:02 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
11:19:03 AM   7764928    476216      5.78     27884      5.86
11:19:04 AM   7764928    476216      5.78     27884      5.86
11:19:05 AM   7764928    476216      5.78     27884      5.86
Average:      7764928    476216      5.78     27884      5.86
一些其他用法:
    sar -S
    sar -S 1 3
    sar -S -f /var/log/sa/sa10

注意:
    Use “sar -R” to identify number of memory pages freed, used, and cached per second by the system.
    Use “sar -H” to identify the hugepages (in KB) that are used and available.
    Use “sar -B” to generate paging statistics. i.e Number of KB paged in (and out) from disk per second.
    Use “sar -W” to generate page swap statistics. i.e Page swap in (and out) per second.


5.IO情况

[oracle@hgora11g ~]$ sar -b 1 3
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:21:37 AM       tps      rtps      wtps   bread/s   bwrtn/s
11:21:38 AM      6.00      0.00      6.00      0.00     64.00
11:21:39 AM     10.10      0.00     10.10      0.00    129.29
11:21:40 AM      0.00      0.00      0.00      0.00      0.00
Average:         5.35      0.00      5.35      0.00     64.21
指标解释:
    tps – Transactions per second (this includes both read and write),事务数/秒
    rtps – Read transactions per second,读事务/秒
    wtps – Write transactions per second,写事务/秒
    bread/s – Bytes read per second,读数据量Bytes/秒
    bwrtn/s – Bytes written per second,写数据量Bytes/秒

一些其他用法:
    sar -b
    sar -b 1 3
    sar -b -f /var/log/sa/sa10

注意: Use “sar -v” to display number of inode handlers, file handlers, and pseudo-terminals used by the system.  


6.单个设备的I/O活动情况

[oracle@hgora11g ~]$ sar -d 1 1
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:54:35 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11:54:36 AM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM   dev8-32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:36 AM  dev253-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
In the above example “DEV” indicates the specific block device.
For example: “dev53-1” means a block device with 53 as major number, and 1 as minor number.
The device name (DEV column) can display the actual device name (for example: sda, sda1, sdb1 etc.,),
if you use the -p option (pretty print) as shown below.

[oracle@hgora11g ~]$ sar -p -d 1 1
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:54:39 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11:54:40 AM       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM v-lv_root      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM v-lv_swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM v-lv_home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM       sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM       sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:54:40 AM v-lv_data      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
一些其他用法:
    sar -d
    sar -d 1 3
    sar -d -f /var/log/sa/sa10
    sar -p -d


7.上下文切换数据
proc/s(进程创建/秒),cswch/s(上下文切换/秒)

[oracle@hgora11g ~]$ sar -w 1 3
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

11:58:05 AM    proc/s   cswch/s
11:58:06 AM      0.00   2108.08
11:58:07 AM     13.86   2250.50
11:58:08 AM      0.00   2073.00
Average:         4.67   2144.33
一些其他用法:
    sar -w
    sar -w 1 3

    sar -w -f /var/log/sa/sa10


8.运行队列和平均负载数据
3次间隔1s的数据,展示运行队列的大小和过去1分钟、5分钟、15分钟的平均负载

[oracle@hgora11g ~]$ sar -q 1 3
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

01:40:39 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
01:40:40 PM         0       550      0.00      0.00      0.00
01:40:41 PM         0       550      0.00      0.00      0.00
01:40:42 PM         0       550      0.00      0.00      0.00
Average:            0       550      0.00      0.00      0.00
注意: The “blocked” column displays the number of tasks that are currently blocked and waiting for I/O operation to complete.
一些其他用法:
    sar -q
    sar -q 1 3
    sar -q -f /var/log/sa/sa10


9.网络数据

This reports various network statistics.
For example: number of packets received (transmitted) through the network card, statistics of packet failure etc.,.
 “1 3” reports for every 1 seconds a total of 3 times.

[oracle@hgora11g ~]$ sar -n DEV 1 1
Linux 2.6.32-431.el6.x86_64 (hgora11g)  06/07/2017      _x86_64_        (8 CPU)

01:44:54 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
01:44:55 PM        lo      6.00      6.00      3.12      3.12      0.00      0.00      0.00
01:44:55 PM      eth0      6.00      5.00      0.41      0.35      0.00      0.00      0.00
sar -n KEYWORD
KEYWORD can be one of the following:
    DEV – Displays network devices vital statistics for eth0, eth1, etc.,
    EDEV – Display network device failure statistics
    NFS – Displays NFS client activities
    NFSD – Displays NFS server activities
    SOCK – Displays sockets in use for IPv4
    IP – Displays IPv4 network traffic
    EIP – Displays IPv4 network errors
    ICMP – Displays ICMPv4 network traffic
    EICMP – Displays ICMPv4 network errors
    TCP – Displays TCPv4 network traffic
    ETCP – Displays TCPv4 network errors
    UDP – Displays UDPv4 network traffic
    SOCK6, IP6, EIP6, ICMP6, UDP6 are for IPv6
    ALL – This displays all of the above information. The output will be very long.


10.展示特定时间开始的sar数据

展示从10点开始的数据,没有选项限制截止时间,可以使用以下方法 sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10

[oracle@hgora11g ~]$ sar -q -f /var/log/sa/sa23 -s 10:00:01
Linux 2.6.32-431.el6.x86_64 (hgora11g)  05/23/2017      _x86_64_        (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
10:10:01 AM         0       752      0.13      0.03      0.01
10:20:01 AM         0       792      0.02      0.02      0.00
10:30:01 AM         0       793      0.00      0.00      0.00
......
11:30:01 PM         0       448      0.00      0.00      0.00
11:40:02 PM         0       448      0.03      0.03      0.00
11:50:01 PM         0       448      0.03      0.02      0.00
Average:            0       543      0.03      0.02      0.01
原文链接 http://www.thegeekstuff.com/2011/03/sar-examples/


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值