使用sar进行性能分析

https://www.cnblogs.com/bangerlee/articles/2545747.html

很早之前就看过 但是自己一直没用过。。

2012-06-12 00:43 by bangerlee, 10214 阅读, 0 评论, 收藏编辑

sar可用于监控Linux系统性能,帮助我们分析性能瓶颈。sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数。

下文将说明如何使用sar获取以下性能分析数据:

  1. 整体CPU使用统计
  2. 各个CPU使用统计
  3. 内存使用情况统计
  4. 整体I/O情况
  5. 各个I/O设备情况
  6. 网络统计

整体CPU使用统计(-u)

使用-u选项,sar输出整体CPU的使用情况,不加选项时,默认使用的就是-u选项。以下命令显示采样时间为1s,采样次数为2次,整体CPU的使用情况:

linux:/ # sar -u 1 2
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 11:37:07 CPU %user %nice %system %iowait %steal %idle
11:37:08 all 0.00 0.00 0.25 0.00 0.00 99.75
11:37:09 all 0.00 0.00 0.25 0.00 0.00 99.75
Average: all 0.00 0.00 0.25 0.00 0.00 99.75

以上主要的统计项的解析如下:

%user: 用户态下CPU使用时间比率

%system: 内核态下CPU使用时间比率

%iowait: CPU等待I/O占用时间比率

%idle: CPU空闲时间比率

各个CPU使用统计(-P)

“-P ALL”选项指示对每个内核输出统计信息:

linux:~ # sar -P ALL 1 1
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 14:04:37 CPU %user %nice %system %iowait %steal %idle
14:04:38 all 0.50 0.00 0.12 0.00 0.00 99.38
14:04:38 0 0.00 0.00 0.00 0.00 0.00 100.00
14:04:38 1 0.00 0.00 0.00 0.00 0.00 100.00
14:04:38 2 0.00 0.00 0.00 0.00 0.00 100.00
14:04:38 3 0.00 0.00 1.00 0.00 0.00 99.00

其中”CPU”列输出0,1,2,3指示对应的cpu核。也可针对单独一个内核显示,“-P 1”指示显示第二个内核的统计信息。

内存使用情况统计(-r)

使用-r选项可显示内存统计信息,以下命令显示以1秒为采样时间,显示2次内存信息:

linux:~ # sar -r  1 2
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 14:22:50 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
14:22:51 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0
14:22:52 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0
Average: 11727480 4564652 28.02 174460 3995108 8393920 0 0.00 0

上面输出的内存单位为”kb”,各项的名称可自解析其含义。

整体I/O情况(-b)

使用-b选项,可以显示磁盘I/O的使用情况:

linux:~ # sar -b 1 2
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 14:50:33 tps rtps wtps bread/s bwrtn/s
14:50:34 0.99 0.00 0.99 0.00 7.92
14:50:35 4.00 0.00 4.00 0.00 136.00
Average: 2.49 0.00 2.49 0.00 71.64

以上各列的含义为:

tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。

rtps: 每秒向磁盘设备的读请求次数

wtps: 每秒向磁盘设备的写请求次数

bread: 每秒从磁盘读的bytes数量

bwrtn: 每秒向磁盘写的bytes数量

各个I/O设备情况(-d)

使用-d选项可以显示各个磁盘的统计信息,再增加-p选项可以以sdX的形式显示设备名称:

linux:~ # sar -d -p 1 1
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 15:43:34 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
15:43:35 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:43:35 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:43:35 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

以上输出中DEV列以sdX的方式显示了设备名称。

网络统计(-n)

使用-n选项可以对网络使用情况进行显示,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:

linux:~ # sar -n DEV 1 1
Linux 2.6.16.60-0.21-smp (linux) 06/08/12 15:50:22 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
15:50:23 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:50:23 eth0 23.76 1.98 1.59 0.26 0.00 0.00 0.00
15:50:23 eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15:50:23 eth2 7.92 0.00 0.60 0.00 0.00 0.00 0.00

以上主要输出含义如下:

IFACE: 网络接口名称

rxpck/s: 每秒收包的数量

txpck/s: 每秒发包的数量

rxkB/s: 每秒收的数据量(kB为单位)

txkB/s: 每秒发的数据量(kB为单位)

sar日志保存(-o)

最后讲一下如何保存sar日志,使用-o选项,我们可以把sar统计信息保存到一个指定的文件,对于保存的日志,我们可以使用-f选项读取:

linux:~ # sar -n DEV 1 10 -o sar.out
linux:~ # sar -d 1 10 -f sar.out

相比将结果重定向到一个文件,使用-o选项,可以保存更多的系统资源信息。

Reference: 10 Useful Sar(Sysstat) Examples for UNIX/Linux Performance Monitoring

【转贴】使用sar进行性能分析的更多相关文章

  1. Linux使用sar进行性能分析

    转:https://blog.csdn.net/xusensen/article/details/54606401#sar%E7%AE%80%E4%BB%8B Linux使用sar进行性能分析 Lin ...

  2. 【Linux资源管理】使用sar进行性能分析

    sar可用于监控Linux系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数. ...

  3. 使用sar进行性能分析

    sar可用于监控Linux系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数. ...

  4. 使用VisualVM进行性能分析及调优(转)

    VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...

  5. [转]设置Android手机以使用ARM Streamline进行性能分析(二)

    原文因为arm社区改版访问不到了,原作者鲍方,原文地址,这篇是从google cache里挖出来的,希望能帮到要对cocos2dx优化的各位   Posted by Fang Bao, Leave C ...

  6. 使用 VisualVM 进行性能分析及调优

    VisualVM 是一款免费的性能分析工具.它通过 jvmstat.JMX.SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态 ...

  7. Linux C++程序进行性能分析工具gprof使用入门

    性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...

  8. 【转载】利用window.performance.timing进行性能分析

    利用window.performance.timing进行性能分析   性能分析... window.performance.timing中相关属性语义: // .navigationStart 准备 ...

  9. [转]程序进行性能分析工具gprof使用入门

    性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...

随机推荐

  1. js拖拽文件夹上传

    由于项目需要上传文件到服务器,于是便在文件上传的基础上增加了拖拽上传.拖拽上传当然属于文件上传的一部分,只不过在文件上传的基础上增加了拖拽的界面,主要在于前台的交互, 从拖拽的文件中获取文件列表然后调 ...

  2. tomcat使用jdbc连接mysql出现的错误

    出现的错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 前提: 已经在工程的build path中添加了驱动包(mysql-conn ...

  3. 交换机配置——三层交换机实现VLAN间通信

    一.实验目的::用三层交换机让同一vlan的主机能通信,不同vlan的主机也能通信 二.拓扑图如下 三.具体步骤如下:. 先给每台主机和服务器配置ip地址和网关 例: (1)S1三层交换机配置: Sw ...

  4. 如何在VMware软件上安装Red hat(红帽)Linux6.9操作系统

    本文介绍如何在VMware软件上安装Redhat(红帽)Linux6.9操作系统 首先需要准备 VMware软件和Redhat-Linux6.9操作系统的ISO系统镜像文件包(这里以linux6.9为 ...

  5. 四、SpringBoot整合mybatis——配置mybatis驼峰命名规则自动转换

    简述: mybatis驼峰式命名规则自动转换: 使用前提:数据库表设计按照规范“字段名中各单词使用下划线"_"划分”:使用好处:省去mapper.xml文件中繁琐编写表字段列表与表 ...

  6. 「CSA Round #41」BFS-DFS

    题目链接 戳我 \(Description\) 给出一个图的\(bfs\)序和\(dfs\)序,构造出一个满足条件的图,边的扫描顺序为读入顺序 \(Solution\) 这个题还是很简单的. 先来看看 ...

  7. js对象之间的"继承"的五种方法

    今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个"动物"对象的构造函数. function Animal(){ this.species = & ...

  8. vscode 占内存的方法

    1.修复vs code 造成 rg.exe内存占用过大的问题 search.followSymlinks: false 2.修复vs code 造成 git.exe内存占用过大的问题 git.enab ...

  9. Mybatis多值传递的方式

    一共有三种方式 1.参数传入Map 2参数使用@params 3.直接使用时用#{0},#{2} 参考网址 :https://www.2cto.com/database/201409/338155.h ...

  10. js获取当前时间,并格式化为"yyyy-MM-dd HH:mm:ss"

    /** * Created by Administrator on 2019/11/15. *指尖敲打着世界 ----一个阳光而又不失帅气的少年!!!. */ // js获取当前时间,并格式化为&qu ...