sar介绍:

sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。

    摘自:《sar 找出系统瓶颈的利器》

sar  -[*] 命令后报错的解决办法:

报错内容如下:

Cannot open /var/log/sysstat/sa21: No such file or directory
Please check if data collecting is enabled
解决办法
root@botoo:/botoo/sayhello-master/sayhello-master# sar -f
Cannot open /var/log/sysstat/sa21: No such file or directory
Please check if data collecting is enabled
root@botoo:/botoo/sayhello-master/sayhello-master# sudo chmod o+w /etc/default/sysstat
root@botoo:/botoo/sayhello-master/sayhello-master# vim /etc/default/sysstat
root@botoo:/botoo/sayhello-master/sayhello-master# sar -r
Cannot open /var/log/sysstat/sa21: No such file or directory
Please check if data collecting is enabled
root@botoo:/botoo/sayhello-master/sayhello-master# vim /etc/default/sysstat
root@botoo:/botoo/sayhello-master/sayhello-master# sudo /etc/init.d/sysstat restart
[ ok ] Restarting sysstat (via systemctl): sysstat.service.
root@botoo:/botoo/sayhello-master/sayhello-master# sar -r
Linux 4.4.--generic (botoo) // _x86_64_ ( CPU) :: PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
:: PM 41.94 46.68

sar 参数说明

  • -A 汇总所有的报告
  • -a 报告文件读写使用情况
  • -B 报告附加的缓存的使用情况
  • -b 报告缓存的使用情况
  • -c 报告系统调用的使用情况
  • -d 报告磁盘的使用情况
  • -g 报告串口的使用情况
  • -h 报告关于buffer使用的统计数据
  • -m 报告IPC消息队列和信号量的使用情况
  • -n 报告命名cache的使用情况
  • -p 报告调页活动的使用情况
  • -q 报告运行队列和交换队列的平均长度
  • -R 报告进程的活动情况
  • -r 报告没有使用的内存页面和硬盘块
  • -u 报告CPU的利用率
  • -v 报告进程、i节点、文件和锁表状态
  • -w 报告系统交换活动状况
  • -y 报告TTY设备活动状况

查看CPU使用率sar -u

root@botoo:/# sar -u
Linux 4.4.--generic (botoo) // _x86_64_ ( CPU) :: PM CPU %user %nice %system %iowait %steal %idle
:: PM all 0.00 0.00 1.00 0.00 0.00 99.00
:: PM all 1.00 0.00 0.00 0.00 0.00 99.00
:: PM all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.34 0.00 0.34 0.00 0.00 99.33

sar -u 1 3 后面的参数是1秒一次,总共采样3次

可以看到这台机器使用了虚拟化技术,有相应的时间消耗; 各列的指标分别是:

  • %user 用户模式下消耗的CPU时间的比例;
  • %nice 通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例
  • %system 系统模式下消耗的CPU时间的比例;
  • %iowait CPU等待磁盘I/O导致空闲状态消耗的时间比例;
  • %steal 利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例;
  • %idle CPU空闲时间比例;

查看平均负载 sar -q

指定-q后,就能查看运行队列中的进程数、系统上的进程大小、平均负载等;与其它命令相比,它能查看各项指标随时间变化的情况;

root@botoo:/# sar -q
Linux 4.4.--generic (botoo) // _x86_64_ ( CPU) :: PM runq-sz plist-sz ldavg- ldavg- ldavg- blocked
:: PM 0.04 0.01 0.00
:: PM 0.04 0.01 0.00
:: PM 0.04 0.01 0.00
:: PM 0.04 0.01 0.00
Average: 0.04 0.01 0.00
  • runq-sz:运行队列的长度(等待运行的进程数)
  • plist-sz:进程列表中进程(processes)和线程(threads)的数量
  • ldavg-1:最后1分钟的系统平均负载 ldavg-5:过去5分钟的系统平均负载
  • ldavg-15:过去15分钟的系统平均负载

查看物理内存使用状况 sar -r

root@botoo:/# sar -r
Linux 4.4.--generic (botoo) // _x86_64_ ( CPU) :: PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
:: PM 41.95 46.68
:: PM 41.95 46.68
:: PM 41.95 46.68
Average: 41.95 46.68
  • kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
  • kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
  • %memused:物理内存使用率,这个值是kbmemused和内存总量(不包括swap)的一个百分比.
  • kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
  • kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
  • %commit:这个值是kbcommit与内存总量(包括swap)的一个百分比

查看页面交换发生状况  sar -W

页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用这个命令来确认是否发生了大量的交换;

root@botoo:/# sar -W
Linux 4.4.--generic (botoo) // _x86_64_ ( CPU) :: PM pswpin/s pswpout/s
:: PM 0.00 0.00
:: PM 0.00 0.00
:: PM 0.00 0.00
Average: 0.00 0.00
  • pswpin/s:每秒系统换入的交换页面(swap page)数量
  • pswpout/s:每秒系统换出的交换页面(swap page)数量

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来;

  • 怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
  • 怀疑内存存在瓶颈,可用sar -B、sar -r 和 sar -W 等来查看
  • 怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

linux===sar命令性能监控的更多相关文章

  1. 【转载】Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  2. Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  3. Linux系统和性能监控之CPU篇

    Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...

  4. linux sar 命令详解(转载)

    linux sar 命令详解 2013-04-01 11:05 [小 大] 来源: 开源中国社区 评论: 0 分享至: 百度权重查询 词库网 网站监控 服务器监控 SEO监控 手机游戏 iPhone游 ...

  5. Linux下Java性能监控

    Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...

  6. linux sar 命令详解

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...

  7. linux sar 命令详解(历史资源查看,如内存、CUP等等)

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...

  8. linux sar命令详解

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...

  9. 【转】linux sar命令详解

    原文地址:http://lovesoo.org/linux-sar-command-detailed.html sar(System Activity Reporter系统活动情况报告)是目前 Lin ...

随机推荐

  1. C++模式学习------模板模式

    模板模式: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模板模式是一种很常用的模式,在很多的框架或者基类重载的时候都 ...

  2. BZOJ 2668: [cqoi2012]交换棋子

    2668: [cqoi2012]交换棋子 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 1112  Solved: 409[Submit][Status ...

  3. 【BZOJ4140】共点圆加强版(二进制分组)

    [BZOJ4140]共点圆加强版(二进制分组) 题面 BZOJ 题解 我卡精度卡了一天.... 之前不强制在线的做法是\(CDQ\)分治,维护一个凸壳就好了. 现在改成二进制分组,每次重建凸壳就好了. ...

  4. 洛谷 P1446 [HNOI2008]Cards 解题报告

    P1446 [HNOI2008]Cards 题目描述 小春现在很清闲,面对书桌上的\(N\)张牌,他决定给每张染色,目前小春只有\(3\)种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun ...

  5. POI的XWPFParagraph.getRuns分段问题 多余逗号

    POI的XWPFParagraph.getRuns分段问题 2018年08月28日 09:49:32 银爪地海贼 阅读数:376   这是我的模板 后台打印出来是分段的 造成这样的原因是${name} ...

  6. 简单易懂的GBDT

    转https://www.cnblogs.com/liuyu124/p/7333080.html 梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法是近年来 ...

  7. 安装JDK、Tomcat、Maven’详细步骤

    安装JDK 1.首先在官网下载JDK1.8包并解压(随便你装哪个版本) 2.下面开始配置环境变量  此电脑-右键-属性-高级系统配置  点击环境变量 将会看到以下界面 在系统变量下“新建” 变量名(J ...

  8. Laravel 返回 JSON 格式

    第一种方法: 第一步.编写 BaseRequest首先我们需要构建一个 BaseRequest 来重写 Illuminate\Http\Request ,修改为默认优先使用 JSON 响应: app/ ...

  9. bzoj千题计划155:bzoj3543: [ONTAK2010]Garden

    http://www.lydsy.com/JudgeOnline/problem.php?id=3543 枚举每一个点,作为左下角 然后枚举 相同的x坐标,y坐标 少的那个 作为另一个角 二分判断另外 ...

  10. bzoj千题计划137:bzoj [CQOI2014]危桥

    http://www.lydsy.com/JudgeOnline/problem.php?id=3504 往返n遍,即单向2*n遍 危桥流量为2,普通桥流量为inf 原图跑一遍最大流 交换b1,b2再 ...