linux sar 命令使用说明

简介:

sar 是非常强大性能分析命令,通过 sar 命令可以全面的获取系统的 CPU、运行队列、磁盘 I/O、交换区、内存、 cpu 中断、网络等性能数据。
sar 命令行的常用格式:
sar [options] [-A] [-o file] t [n]
在命令行中, n 和 t 两个参数组合起来定义采样间隔和次数, t 为采样间隔, 是必须有的参数, n 为采样次数,是可选的,默认值是 1, -o file 表示将命令结果以二进制格式存放在文件中, file 在此处不是关键字,是文件名。 options 为命令行选项, sar 命令的选项很多,下面只列出常用选项:
     -A:所有报告的总和。
     -u: CPU 利用率
     -v:进程、节点、文件和锁表状态。
     -p:像是当前系统中指定 CPU 使用信息。
     -d:硬盘使用报告。
     -r:显示系统内存的使用情况。
     -n: 显示网络运行状态。 参数后面可跟 DEV、 EDEV、 SOCK 和 FULL。 DEV 显示网络接口信息, EDEV 显示网络错误的统计数据, SOCK 显示套接字信息, FULL 显示前三参数所以信息。


  -q:显示运行队列的大小,它与系统当时的平均负载相同
  -B:内存分页情况
  -R:显示进程在采样时间内的活动情况。
  -g:串口 I/O 的情况。
  -b:缓冲区使用情况。
  -a:文件读写情况。
  -c:系统调用情况。
  -R:进程的活动情况。
  -y:终端设备活动情况。
  -W:系统交换活动。


1、sar监控 CPU

1
2
3
4
5
6
7
8
9
10
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver)   2006年10月29日    _x86_64_    (24 CPU)
 
09时59分02秒     CPU     %user     % nice    %system   %iowait    %steal     %idle
09时59分05秒     all      0.72      0.00      0.10      0.99      0.00     98.20
09时59分08秒     all      0.66      0.00      0.08      0.58      0.00     98.67
09时59分11秒     all      0.47      0.00      0.07      0.28      0.00     99.18
09时59分14秒     all      0.66      0.00      0.11      0.36      0.00     98.86
09时59分17秒     all      0.64      0.00      0.12      0.32      0.00     98.92
平均时间:     all      0.63      0.00      0.10      0.51      0.00     98.77
[root@backupserver ~] #


    %usr:用户进程消耗的 CPU 时间百分比。
    %nice: 运行正常进程消耗的 CPU 时间百分比。
    %system:系统进程消耗的 CPU 时间百分比。
    %iowait: I/O 等待所占 CPU 时间百分比。
    %steal:在内存紧张环境下, pagein 强制对不同的页面进行的 steal 操作。
    %idle: CPU 空闲状态的时间百分比。
在所有的显示中,我们应主要注意%iow 和%idle, %iow 的值过高,表示硬盘存在 I/O 瓶颈, %idle 值高,表示 CPU 较空闲,如果%idle 值高但系统响应慢时,有可能是 CPU 等待分配内存, 此时应加大内存容量。 %idle 值如果持续低于 10,那么系统的 CPU 处理能力相对较低,表 明系统中最需要解决的资源是 CPU。

2、sar内存和交换空间监控

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@backupserver ~] # sar -r 5 3
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver)   2006年10月29日    _x86_64_    (24 CPU)
 
10时00分57秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
10时01分02秒    357864  65689092     99.46    440880  59862196   5357776      6.39
10时01分07秒    356620  65690336     99.46    440880  59862684   5359028      6.39
10时01分12秒    356608  65690348     99.46    440880  59862692   5359000      6.39
平均时间:    357031  65689925     99.46    440880  59862524   5358601      6.39
[root@backupserver ~] # free -m
              total       used        free      shared    buffers     cached
Mem:         64498      64150        348          0        430      58459
-/+ buffers /cache :       5260      59238
Swap:        17407         60      17347
[root@backupserver ~] #

    Kbmemfree: 这个值和 free 命令中的 free 值基本一致,所以它不包括 buffer 和 cache 的空间。
    kbmemused:这个值和 free 命令中的 used 值基本一致,所以它包括 buffer 和 cache 的空间。
    %memused:这个值是 kbmemused 和内存总量(不包括 swap)的一个百分比。
    kbbuffers 和 kbcached:这两个值就是 free 命令中的 buffer 和 cache。
    kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)。
    %commit:这个值是 kbcommit 与内存总量(包括 swap)的一个百分比。


3、sar内存分页监控

[root@backupserver ~]# sar -B 5 3
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver) 	2006年10月29日 	_x86_64_	(24 CPU)

10时03分23秒  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
10时03分28秒      0.00   1750.58     61.00      0.00    145.95      0.00      0.00      0.00      0.00
10时03分33秒      0.00   1273.96     46.79      0.00     56.23      0.00      0.00      0.00      0.00
10时03分38秒      0.00   2804.50     81.80      0.00    177.67      0.00      0.00      0.00      0.00
平均时间:      0.00   1946.11     63.25      0.00    126.57      0.00      0.00      0.00      0.00
[root@backupserver ~]#

    pgpgin/s:表示每秒从磁盘或 SWAP 置换到内存的字节数(KB)。
    pgpgout/s:表示每秒从内存置换到磁盘或 SWAP 的字节数(KB)。
    fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)。
    majflt/s:每秒钟产生的主缺页数。


4、sar I/O 和传送速率监控

[root@backupserver ~]# sar -b 5 3
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver) 	2006年10月29日 	_x86_64_	(24 CPU)

10时06分16秒       tps      rtps      wtps   bread/s   bwrtn/s
10时06分21秒    112.27      0.74    111.52     53.53  10257.25
10时06分26秒     77.46      0.00     77.46      0.00   7848.48
10时06分31秒     93.51      0.00     93.51      0.00   6970.99
平均时间:     94.53      0.25     94.28     18.11   8374.34
[root@backupserver ~]#

   tps:每秒钟物理设备的 I/O 传输总量。
   rtps:每秒钟从物理设备读入的数据总量。
   wtps:每秒钟向物理设备写入的数据总量。
   bread/s:每秒钟从物理设备读入的数据量,单位为 块/s。
   bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s。


5、sar进程队列长度和平均负载状态监控

1
2
3
4
5
6
7
8
9
[root@backupserver ~] # sar -q 5 3
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver)   2006年10月29日    _x86_64_    (24 CPU)
 
10时10分59秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
10时11分04秒         0       331      0.42      0.40      0.39
10时11分09秒         0       331      0.63      0.44      0.40
10时11分14秒         1       331      0.58      0.43      0.40
平均时间:         0       331      0.54      0.42      0.40
[root@backupserver ~] #

    runq-sz:运行队列的长度(等待运行的进程数)。
    plist-sz:进程列表中进程(processes)和线程(threads)的数量。
    ldavg-1:最后 1 分钟的系统平均负载(System load average)。
    ldavg-5:过去 5 分钟的系统平均负载。
    ldavg-15:过去 15 分钟的系统平均负载。


6、sar系统交换活动信息监控

1
2
3
4
5
6
7
8
9
10
11
[root@backupserver ~] # sar -W 3 5
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver)   2006年10月29日    _x86_64_    (24 CPU)
 
10时13分07秒  pswpin /s  pswpout /s
10时13分10秒      0.00      0.00
10时13分13秒      0.00      0.00
10时13分16秒      0.00      0.00
10时13分19秒      0.00      0.00
10时13分22秒      0.00      0.00
平均时间:      0.00      0.00
[root@backupserver ~] #

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


7、sar设备使用情况监控

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@backupserver ~] # sar -d 5 3
Linux 2.6.39-400.17.1.el6uek.x86_64 (backupserver)   2006年10月29日    _x86_64_    (24 CPU)
 
10时14分15秒       DEV       tps  rd_sec /s   wr_sec /s   avgrq-sz  avgqu-sz     await     svctm     %util
10时14分20秒    dev8-0     23.67      0.00   3457.58    146.05      0.19      8.18      4.69     11.10
10时14分20秒  dev252-0      0.57      0.00      4.55      8.00      0.00      0.00      0.00      0.00
10时14分20秒  dev252-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分20秒  dev252-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分20秒  dev252-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分20秒  dev252-4     58.71      0.00   3453.03     58.81      0.44      7.56      1.89     11.10
 
10时14分20秒       DEV       tps  rd_sec /s   wr_sec /s   avgrq-sz  avgqu-sz     await     svctm     %util
10时14分25秒    dev8-0     31.06      0.00   4545.09    146.32      0.22      6.94      2.93      9.10
10时14分25秒  dev252-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分25秒  dev252-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分25秒  dev252-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分25秒  dev252-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分25秒  dev252-4     69.74      0.00   4545.09     65.17      0.33      4.75      1.30      9.10
 
10时14分25秒       DEV       tps  rd_sec /s   wr_sec /s   avgrq-sz  avgqu-sz     await     svctm     %util
10时14分30秒    dev8-0     38.11      0.00   5860.90    153.77      0.64     16.91      3.99     15.23
10时14分30秒  dev252-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分30秒  dev252-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分30秒  dev252-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分30秒  dev252-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10时14分30秒  dev252-4     87.82      0.00   5860.90     66.74      0.91     10.41      1.74     15.25
 
平均时间:       DEV       tps  rd_sec /s   wr_sec /s   avgrq-sz  avgqu-sz     await     svctm     %util
平均时间:    dev8-0     30.86      0.00   4607.29    149.30      0.35     11.35      3.83     11.82
平均时间:  dev252-0      0.20      0.00      1.56      8.00      0.00      0.00      0.00      0.00
平均时间:  dev252-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:  dev252-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:  dev252-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:  dev252-4     71.94      0.00   4605.73     64.02      0.56      7.83      1.64     11.82
[root@backupserver ~] #

    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% 时,表示设备带宽已经占满。

总结

   要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来
   怀疑 CPU 存在瓶颈,可用 sar -u 和 sar -q 等来查看
   怀疑内存存在瓶颈,可用 sar -B、 sar -r 和 sar -W 等来查看
   怀疑 I/O 存在瓶颈,可用 sar -b、 sar -u 和 sar -d 等来查看











本文转自lq201151CTO博客,原文链接:http://blog.51cto.com/liuqun/2049670 ,如需转载请自行联系原作者


相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
414 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
289 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
667 57
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
380 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
264 0
Linux内存问题排查命令详解
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
270 16
|
3月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
512 0
|
3月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
177 0
|
3月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
4月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
282 0