sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,

包括:文件的读写情况、系统调用的使用情况、磁盘I/OCPU效率、内存使用状况、进程活动及IPC有关的活动等

IPC(Inter-Process Communication)进程间通信,提供了各种进程间通信的方法。在Linux C编程中有几种方法
(1) 半双工Unix管道
  (2) FIFOs(命名管道)
  (3) 消息队列
  (4) 信号量
  (5) 共享内存
  (6) 网络Socket

sar [options] [-A] [-o file] t [n]

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

常用选项如下:
-A:所有报告的总和
-r:输出内存和交换空间的统计信息
-u:输出CPU使用情况的统计信息
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-v:输出inode、文件和其他内核表的统计信息 -d:输出每一个块设备的活动信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-y:终端设备活动情况
-w:输出系统交换活动信息

注意:-o 文件名,可以将显示的数据放在文件里

可以使用sar -f 文件名  查看

CPU

[root@VM_0_10_centos ~]# sar -u 5 3
Linux 2.6.32-696.el6.x86_64 (VM_0_10_centos) 05/15/2020 _x86_64_ (1 CPU) 10:38:38 PM CPU %user %nice %system %iowait %steal %idle
10:38:43 PM all 0.60 0.00 0.40 0.00 0.00 99.00
10:38:48 PM all 0.60 0.00 0.20 0.00 0.00 99.20
10:38:53 PM all 0.60 0.00 0.40 0.20 0.00 98.80
Average: all 0.60 0.00 0.33 0.07 0.00 99.00
每个5秒测一测
all 表示统计信息为所有 CPU 的平均值。(多个cpu的情况下)
%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。 注意性能:
%iowait 的值过高,表示硬盘存在I/O瓶颈
%idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
%idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

内存

[root@VM_0_10_centos ~]# sar -r 5 3
Linux 2.6.32-696.el6.x86_64 (VM_0_10_centos) 05/15/2020 _x86_64_ (1 CPU) 10:46:17 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
10:46:22 PM 87556 1834692 95.45 72188 325300 1941736 101.01
10:46:27 PM 90116 1832132 95.31 72196 325296 1934324 100.63
10:46:32 PM 90100 1832148 95.31 72196 325300 1934328 100.63
Average: 89257 1832991 95.36 72193 325299 1936796 100.76
kbmemfree:它不包括buffer和cache的空间.和free命令的free一样
kbmemused:它包括buffer和cache的空间.
%memused:kbmemused/内存总量(不包括swap)
kbbuffers和kbcached:是free命令中的buffer和cache.
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

I/O

[root@VM_0_10_centos ~]# sar -b 5 3
Linux 2.6.32-696.el6.x86_64 (VM_0_10_centos) 05/15/2020 _x86_64_ (1 CPU) 10:50:12 PM tps rtps wtps bread/s bwrtn/s
10:50:17 PM 2.21 0.00 2.21 0.00 41.77
10:50:22 PM 1.80 0.00 1.80 0.00 35.20
10:50:27 PM 4.62 0.00 4.62 0.00 54.62
Average: 2.87 0.00 2.87 0.00 43.85
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

inode ,file,其他内核

[root@VM_0_10_centos ~]# sar -v 5 3
Linux 2.6.32-696.el6.x86_64 (VM_0_10_centos) 05/15/2020 _x86_64_ (1 CPU) 10:52:17 PM dentunusd file-nr inode-nr pty-nr
10:52:22 PM 6552 928 9491 1
10:52:27 PM 6524 832 9445 1
10:52:32 PM 6524 832 9445 1
Average: 6533 864 9460 1
dentunusd:目录高速缓存中未被使用的条目数量
file-nr:文件句柄(file handle)的使用数量
inode-nr:索引节点句柄(inode handle)的使用数量
pty-nr:使用的pty数量,这就是虚拟终端pty(pseudo-tty)

进程队列长度和平均负载

[root@VM_0_10_centos ~]# sar -q 5 3
Linux 2.6.32-696.el6.x86_64 (VM_0_10_centos) 05/16/2020 _x86_64_ (1 CPU) 10:38:39 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
10:38:44 AM 0 154 0.00 0.00 0.00
10:38:49 AM 0 151 0.00 0.00 0.00
10:38:54 AM 0 152 0.00 0.00 0.00
Average: 0 152 0.00 0.00 0.00
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载

sar 系统活动情况报告的更多相关文章

  1. sar命令查看网卡流量 (System ActivityReporter系统活动情况报告)

    sar命令查看网卡流量 2016年06月14日 03:31:29 WarriorTan 阅读数:9748更多 个人分类: Linux   版权声明:本文为博主原创文章,未经博主允许不得转载. http ...

  2. ar是System Activity Reporter(系统活动情况报告)的缩写。这

    ar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工具将对系统当前的状态就行取样,然后通过 ...

  3. hadoop集群空间使用情况报告脚本

    近期集群空间有点紧张,总是操心空间不足而崩溃,近期扩容又不太现实,经与集群用户沟通发现:集群上存储了非常多没用的历史数据,能够删除,这样就能够通过一个crontab脚本每天生成集群空间使用报告,当使用 ...

  4. Linux系统性能分析工具 sar--系统活动情况报告

    1.结论: sar 命令是linux系统上,分析系统性能的常用工具,可以查看cpu.内存.磁盘IO.文件读写.系统调用, 2.sar会有一个定时任务,定期记录当前系统信息到  /var/log/sa/ ...

  5. Linux之sar命令介绍

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

  6. Linux系统性能统计工具Sar和实时系统性能监控脚本

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

  7. sar 找出系统瓶颈的利器

    sar 找出系统瓶颈的利器sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态.它的 ...

  8. linux sar 命令详解

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

  9. vmstat,iostat,sar命令详解

    Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数.此数由 linux 计算得出,但 linux 并不耗尽交换空间 Memory swpd: 虚拟内 ...

随机推荐

  1. Github 29K Star的开源对象存储方案——Minio入门宝典

    对象存储不是什么新技术了,但是从来都没有被替代掉.为什么?在这个大数据发展迅速地时代,数据已经不单单是简单的文本数据了,每天有大量的图片,视频数据产生,在短视频火爆的今天,这个数量还在增加.有数据表明 ...

  2. 5.27日Scrum Metting

    日期:2021年5月27日 会议主要内容概述:确定账单数据格式,确定需要添加新的图表,确定模板分享功能任务量. 一.进度情况# 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 ...

  3. Sharding-JDBC自定义复合分片算法

    Sharding-JDBC自定义复合分片算法 一.背景 二.需求 1.对于客户端操作而言 2.对于运营端操作而言 三.分片算法 1.客户id和订单id的生成规则 2. 确定数据落在那个表中 3.举例说 ...

  4. elasticsearch使用ik中文分词器

    elasticsearch使用ik中文分词器 一.背景 二.安装 ik 分词器 1.从 github 上找到和本次 es 版本匹配上的 分词器 2.使用 es 自带的插件管理 elasticsearc ...

  5. FastAPI 学习之路(五十九)封装统一的json返回处理工具

    这之前的接口,我们返回的格式都是每个接口异常返回的数据格式都会不一样,我们处理起来没有那么方便,我们可以封装一个统一的json处理. 那么我们看下如何来实现呢 from fastapi import ...

  6. Python matplotlib 概率论与数理统计 伯努利分布 二项分布

    Python 代码实现 二项分布 import numpy as np import matplotlib.pyplot as plt import math from scipy import st ...

  7. netty系列之:搭建客户端使用http1.1的方式连接http2服务器

    目录 简介 使用http1.1的方式处理http2 处理TLS连接 处理h2c消息 发送消息 总结 简介 对于http2协议来说,它的底层跟http1.1是完全不同的,但是为了兼容http1.1协议, ...

  8. Zabbix5.0实现监控系统登陆失败告警

    环境zabbix5.0,配置思路,通过添加监控项和触发器实现,监控项监控对应的日志文件,触发器过滤日志文件中的关键字,当出现failed时就发出告警. 监控项配置 类型选择zabbix客户端主动式,键 ...

  9. prometheus(1)之核心概念

    个人理解:prometheus核心在于 1.prom数据类型的理解 (4钟数据类型 与常用的promQL语法 其实很容易) 2.各种服务发现与正则拼接(服务发现的拼接其实官方定义好的 理解就行) 3. ...

  10. 'pybot' 不是内部或外部命令,也不是可运行的程序 或批处理文件

    在dos下运行pybot --version提示不是内部命令 这是pip list 打印信息: 解决方法: 在python/Scripts目录下加一个pybot.bat 文件 内容为: @Echo o ...