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

sar是查看操作系统报告指标的各种工具中,最为普遍和方便的;它有两种用法;

  1. 追溯过去的统计数据(默认)
  2. 周期性的查看当前数据

12.1. 追溯过去的统计数据

默认情况下,sar从最近的0点0分开始显示数据;如果想继续查看一天前的报告;可以查看保存在/var/log/sysstat/下的sa日志; 使用sar工具查看:

$sar -f /var/log/sysstat/sa28 \| head sar -r -f
/var/log/sysstat/sa28

12.2. 查看CPU使用率

sar -u : 默认情况下显示的cpu使用率等信息就是sar -u;

root@zhouwj-virtual-machine:~# sar 1 3
Linux 4.18.0-25-generic (zhouwj-virtual-machine)     2019年07月29日     _x86_64_    (1 CPU)

15时45分52秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
15时45分53秒     all      3.03      0.00      1.01      0.00      0.00     95.96
15时45分54秒     all      4.17      0.00      1.04      0.00      0.00     94.79
15时45分55秒     all      4.08      0.00      2.04      0.00      0.00     93.88
平均时间:     all      3.75      0.00      1.37      0.00      0.00     94.88

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

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

12.3. 查看平均负载

sar -q: 查看平均负载

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

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

12.4. 查看内存使用状况

sar -r: 指定-r之后,可查看物理内存使用状况;

root@zhouwj-virtual-machine:~# sar -r 1 3
Linux 4.18.0-25-generic (zhouwj-virtual-machine)     2019年07月29日     _x86_64_    (1 CPU)

15时48分34秒 kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
15时48分35秒    187404    601168   1829664     90.71     39360    487912   4389064    146.94    619928    610900         0
15时48分36秒    187404    601168   1829664     90.71     39360    487912   4389064    146.94    619928    610900         0
15时48分37秒    187404    601168   1829664     90.71     39360    487912   4389064    146.94    619928    610900         0
平均时间:    187404    601168   1829664     90.71     39360    487912   4389064    146.94    619928    610900         0

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

12.5. 查看页面交换发生状况

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

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

Linux 4.18.0-25-generic (zhouwj-virtual-machine)     2019年07月29日     _x86_64_    (1 CPU)

15时49分24秒  pswpin/s pswpout/s
15时49分25秒      0.00      0.00
15时49分26秒      0.00      0.00
15时49分27秒      0.00      0.00
平均时间:      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 等来查看

12.6. 安装

  1. 有的linux系统下,默认可能没有安装这个包,使用apt-get install sysstat 来安装;
  2. 安装完毕,将性能收集工具的开关打开: vi /etc/default/sysstat

设置 ENABLED=”true”

  1. 启动这个工具来收集系统性能数据: /etc/init.d/sysstat start

12.7. 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设备活动状

参考资料:https://linux.cn/article-9398-1.html

Linux重要命令-sar相关推荐

  1. linux 命令自动提示错误信息,Linux基础命令---sar显示系统活动信息

    选项说明 -A显示所有报告 -b显示IO状态以及传输速率,有一下值可以显示: tps,每秒发送给物理设备的传输总数.传输是对物理设备的I/O请求.多个逻辑请求可以组合成对设备的单个I/O请求.转移是不 ...

  2. linux系统管理工具sar(一)

    linux系统管理工具sar 监控网卡流量 #sar -n DEV 1 1 (1秒内取1次) Linux 3.10.0-123.9.3.el7.x86_64 (iZ25wvw5wozZ) 01/22/ ...

  3. linux top命令查看内存及多核CPU的使用讲述 [转]

    2019独角兽企业重金招聘Python工程师标准>>> linux top命令查看内存及多核CPU的使用讲述 [转] FROM: http://www.lvtao.net/html/ ...

  4. linux top命令查看内存及多核CPU的使用讲述【转】

    转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...

  5. Linux 常用命令笔记

    Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...

  6. 37条常用Linux Shell命令组合

    2019独角兽企业重金招聘Python工程师标准>>> 37条常用Linux Shell命令组合,推荐个各位网友,老手和新手们都值得收集和总结的东西.一起来看看 序号 任务 命令组合 ...

  7. kali linux 升级命令_作为高级Java,你应该了解的Linux知识

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. 作为一个javaer,我以前写过很多关于Linux的文章.但经过多年的观察,发现其实对于大部分人,有些东西压根就用不着.用 ...

  8. linux 强制结束p进程的命令,Linux常用命令之性能命令

    本文介绍Linux常用性能统计分析命令,监控进程或者系统性能.主要包括CPU(top.mpstat).内存(vmstat.free).I/O(iostat).网络性能(sar).系统日志信息(dems ...

  9. linux 关机命令_小猿圈Linux基础命令汇总

    科技进步的今天,互联网不断的发展,很多人学习Linux运维的时候会因为记不住一些命令从而去找一些渠道,有时候因为找不到linux的命令而烦恼,下面是小猿圈linux讲师给大家总结的linux基础命令, ...

最新文章

  1. SpringBoot用容器IoC管理Bean
  2. 鼠标移动响应php程序,jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】...
  3. Linux: chm转HTML How to Convert chm files to HTML or PDF files
  4. 创建SSIS包—建立端到端的package
  5. C# WinForm开发系列 - Crystal Report
  6. python学了真的很有用吗-python学了真的很有用吗?当然!赶紧学,不学后悔!
  7. 【JQuery NoviceToNinja系列】目录
  8. visionpro图片转图片数组_图片怎么转换成PDF格式文件?图片转PDF软件要这样操作...
  9. Hash算法及数字签名【六】
  10. html页眉页脚独立,页眉页脚怎么单独设置
  11. 隄上创新谁述记——老码农的“创新”漫谈
  12. tomcat部署静态网页
  13. 武汉理工大学计算机辅助项目管理简答题,武汉理工大学软件项目管理实验报告...
  14. css文本属性 首行缩进
  15. 你的每行代码值多少钱?
  16. 【RPG黑暗之光】第四章· 物品模块
  17. english book1 unit8
  18. 北理计算机学院毕设嗯开题报告,北理工德育论文开题报告(大学四年规划)
  19. Binet-Cauchy公式
  20. 手把手教你写批处理-批处理的介绍

热门文章

  1. 申报国家高新技术企业认定,这八大错误认识不能有 。
  2. 本地开发申请ssl证书并在宝塔上给网站配置ssl
  3. 2021最新大厂Java面试集合,顺利拿到offer
  4. 他是程序员出身,做了一款最遭人“恨”的App,挑战张小龙!
  5. OA协同办公系统初始化设置
  6. CodeForce 597ADivisibility
  7. 纳德拉干得不错!微软股价逼近14年最高点
  8. 虚拟机命令里面的光标不动了怎么办_Linux 11个炫酷的终端命令!你知道几个?
  9. Ray Debugger Crack,Ray 发送数据库查询
  10. 回顾2016年存储市场发展 解析产品涨价为何如此逆天