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 //

::        CPU     %user     %nice   %system   %iowait    %steal     %idle
::        all      0.00      0.00      0.25      0.00      0.00     99.75
::        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 //

::        CPU     %user     %nice   %system   %iowait    %steal     %idle
::        all      0.50      0.00      0.12      0.00      0.00     99.38
::                0.00      0.00      0.00      0.00      0.00    100.00
::                0.00      0.00      0.00      0.00      0.00    100.00
::                0.00      0.00      0.00      0.00      0.00    100.00
::                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 //

::    kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
::
::
Average:                                  

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

整体I/O情况(-b)

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

linux:~ # sar -b 1 2
Linux //

::          tps      rtps      wtps   bread/s   bwrtn/s
::         0.99      0.00      0.99      0.00      7.92
::         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 //

::          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
::          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
::          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
::          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 //

::        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
::           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
::         eth0     23.76      1.98      1.59      0.26      0.00      0.00      0.00
::         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
::         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. 【转贴】使用sar进行性能分析

    使用sar进行性能分析 https://www.cnblogs.com/bangerlee/articles/2545747.html 很早之前就看过 但是自己一直没用过.. 2012-06-12 0 ...

  3. 【Linux资源管理】使用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. Spring Boot 最流行的 16 条实践解读,你值得收藏!

    Spring Boot是最流行的用于开发微服务的Java框架.在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践.这些内容是基于我的个人经验和一些熟知的Sp ...

  2. http文件传输

    上传端: File uploadFile =new File(); PostMethod mPost = null; try{ String targetURL ="; HttpClient ...

  3. WordPress教程之页面、菜单、媒体库、高级定制

    本系列教程链接: 怎么快速搭建一个WordPress网站 Wordpress教程之初识WordPress Wordpress教程之如何入门WordPress Wordpress教程之如何创建博客内容 ...

  4. 【UVA - 10006 】Carmichael Numbers (快速幂+素数筛法)

    -->Carmichael Numbers  Descriptions: 题目很长,基本没用,大致题意如下 给定一个数n,n是合数且对于任意的1 < a < n都有a的n次方模n等于 ...

  5. //Thread::Stop();

    //Thread::Stop(); Thread::StopSoon();

  6. WePY的脱胎换骨

    对于前端来说,尤其是开发小程序的前端来说,WePY框架一定不陌生,他是一种小程序开发框架.而且是属于类Vue风格,掌握Vue再来学习WePY学习成本极低. 今天为啥要写这篇文章呢,因为在复习WePY时 ...

  7. Baozi Leetcode Solution 290: Word Pattern

    Problem Statement Given a pattern and a string str, find if str follows the same pattern. Here follo ...

  8. 2019年7月22日 - LeetCode0004

    https://leetcode-cn.com/problems/median-of-two-sorted-arrays/submissions/ 我的解法: 我看到了那个log的要求,也第一时间想到 ...

  9. hadoop之安装hadoop

    官网 http://hadoop.apache.org/ 下载页:https://hadoop.apache.org/releases.html 上传安装包到Linux 解压并进入到目录下 [root ...

  10. 总结暨JAVAWEB学习开篇(一)

    匆匆,距上一篇博客已经过去7月有余,遂作文一篇总结暨JAVAWEB学习开篇. 1. 啃英文新概念.在多方讨教英语大佬后改变学习方式,通过背诵英文书籍以及多听英文录音来学习,效果还不错(等真正有成效了跟 ...