关于sar的学习


背景

公司一套基于某冷门Python架构的系统前几天出现异常卡顿.
当时安装的时候必须使用ubuntu系统.
所以当时默认安装的ubuntu1804, 本来想尝试使用一下sar查看卡顿时期的系统状况
但是发现没有默认安装.
并且最近虽然有node-exporter 以及prometheus 和 grafana
但是想着文字数字型的应该更好处理一下.

Ubuntu的安装与使用

apt-get install  sysstat

需要注意, ubuntu不会默认开启系统性能日志监控
需要进行如下的设置:
vim /etc/default/sysstat 文件
ENABLED="true"
然后就会进行记录. sudo systemctl enable --now sysstat.service
设置开机启动,并且启动 sysstat 修改定时任务:
注意修改方式如下:
第一行修改为 每一分钟收集一次
第二行修改为 凌晨前一分钟进行一次监控文件的创建.
vim /etc/cron.d/sysstat */1 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2 然后需要注意一个区别:
归档sysstat记录的日志 两种系统位置是不一样的
centos的路径在/var/log/sa
ubuntu的日志路径在/var/log/sysstat

关于sysstat工具

Sysstat 软件包集成如下工具:

 iostat 工具提供CPU使用率及硬盘吞吐效率的数据;
mpstat 工具提供单个处理器或多个处理器相关数据;
sar 工具负责收集、报告并存储系统活跃的信息;
sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,
是为sadc所设计的程序前端程序;
sa2 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用
sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
sadf 显示被sar通过多种格式收集的数据;

进行简要分析的方法

先看帮助信息:
用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
主选项和报告:
-b I/O 和传输速率信息状况
-B 分页状况
-d 块设备状况
-F [ MOUNT ]
Filesystems statistics
-H 交换空间利用率
-I { <中断> | SUM | ALL | XALL }
中断信息状况
-m { <关键词> [,...] | ALL }
电源管理统计信息
关键字:
CPU CPU 频率
FAN 风扇速度
\t\tFREQ\tCPU 平均时钟频率
IN 输入电压
TEMP 设备温度
\t\tUSB\t连接的USB 设备
-n { <关键词> [,...] | ALL }
网络统计信息
关键词可以是:
DEV 网卡
EDEV 网卡 (错误)
NFS NFS 客户端
NFSD NFS 服务器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (错误)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (错误)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (错误)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (错误)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (错误)
UDP6 UDP 流 (v6)
-q 队列长度和平均负载
-r 内存利用率
-R 内存状况
-S 交换空间利用率
-u [ ALL ]
CPU 利用率
-v Kernel table 状况
-w 任务创建与系统转换统计信息
-W 交换信息
-y TTY 设备状况

一个简单的使用验证

验证CPU的使用情况
# 将当天的CPU使用情况转成一个 txt文档
sar -f /var/log/sysstat/sa13 |grep -v user >13.txt
# 查看CPU使用率大于50%的情况 主要是反馈一个时间节点
awk -F " " '$3>50' 13.txt
# 查看当天CPU的平均使用情况
cat 13.txt | awk 'Begin{sum=0}{sum+=$3}END{print sum/NR}'
# 查看八点都十点的磁盘读写情况
sar -b -s 08:00:00 -e 10:00:00
# 查看13号 上班时间的CPU总体占用情况 sar -u -s 08:00:00 -e 18:00:00 -f /var/log/sysstat/sa13
# 结果为, 注意这个是查询的ubuntu的日志文件.
17时32分01秒 CPU %user %nice %system %iowait %steal %idle
17时59分01秒 all 1.46 0.00 0.66 0.00 0.00 97.88
Average: all 13.86 0.00 1.88 0.01 0.00 84.26 # 查看网络情况
sar -n DEV
# 查看内存信息
sar -R 1 1

关于sar的学习的更多相关文章

  1. Linux 性能工具 - sar学习

    简介 sar是一款在linux下的性能工具,可以观察到CPU,内存,IO,运行队列,每秒上下文切换等信息. 软件工具安装 #Ubuntu sudo apt-get install sysstat # ...

  2. HANA学习笔记1-搭建HANA学习环境

    一 硬件环境     两台电脑,一台为服务器装跑HANA虚拟机,一台为客户端运行HANA_STUDIO     服务器:内存至少需要16G     windows server 2003 64位    ...

  3. 最近学习linux命令的一个总结

    最近学习了unix power tools,一方面是想增加对unix系统的了解:另一方面也是想增进使用效率,因为unix一大特色就是内置工具的丰富性.有了这些工具,可以方便的查看系统信息,查找需要的文 ...

  4. Oracle学习线路

    出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)    作为oracle的基本功,需要大家对sql和 ...

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

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

  6. mpstat, pidstat, iostat和sar

    在我们上一篇文章中,我们已经学习了如何去安装和更新sysstat,并且了解了包中的一些实用工具. 今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这 ...

  7. SAR命令

    前面已经介绍了 vmstat和top命令的解析及使用,下面我们来学习一个更重要的命令sarsar命令可以通过参数单独查看系统某个局部的使用情况 sar 命令行的常用格式: sar [options] ...

  8. Go学习指南

    学习Golang书籍&资料: 1. The Go Programming Language Specification:  http://golang.org/ref/spec 2. How ...

  9. RHCA学习笔记:RH442-Unit8进程与调度

      UNIT 8  Processes and the Scheduler 进程与调度 学习目标 A. CPU cache 与Service time之间的关系 B. 分析应用程序使用CPU cach ...

  10. RHCA442学习笔记-Unit11内存回收

       Unit 12 Memory Reclamation 内存回收            学习目标:                    A. 了解和调整内存回收                  ...

随机推荐

  1. Programming Abstractions in C阅读笔记:p246-p247

    <Programming Abstractions in C>学习第68天,p246-p247总结,总计2页. 一.技术总结 本章通过"the game of nim(尼姆游戏) ...

  2. POJ 3003 DP 寻路 记录路径

    POJ 3003 DP 寻路 记录路径 我一开始把M看成是每个a_i的上限了,这是致命的,因为这个题dfs暴力搜索+剪枝是过不了的因为M<=40,全部状态有2的四十次幂. 正解是DP,设dp[i ...

  3. C语言编程需要掌握的核心要点有哪些? 编程大神为你总结了这20个

    摘要:C语言作为编程的入门语言,学习者如何快速掌握其核心知识点,面对茫茫书海,似乎有点迷茫.为了让各位快速地掌握C语言的知识内容,在这里对相关的知识点进行了归纳. 引言 笔者有十余年的C++开发经验, ...

  4. 【华为云技术分享】DLI跨源|当DLI遇见MongoDB

    导语: MongoDB作为灵活高效易扩展的no-schema数据库,越来越受到互联网公司.游戏行业等开发者的青睐,但是MongoDB有着独特的语言接口,并不能很好满足数据分析师构建数据治理应用的需求, ...

  5. Python从0到1丨图像增强及运算:形态学开运算、闭运算和梯度运算

    摘要:本文主要介绍图像形态学处理,详细讲解了图像开运算.闭运算和梯度运算.数学形态学是一种应用于图像处理和模式识别领域的新方法,其基本思想是用具有一定形态的结构元素去量度和提取图像中对应形状以达到对图 ...

  6. FusionInsight MRS Flink DataStream API读写Hudi实践

    摘要:目前Hudi只支持FlinkSQL进行数据读写,但是在实际项目开发中一些客户存在使用Flink DataStream API读写Hudi的诉求. 本文分享自华为云社区<FusionInsi ...

  7. 震惊,PostGIS还可以这样用!!!

    摘要:PostGIS为PostgreSQL提供了空间数据库分析能力,是目前业界主流的地理数据库之一,提供如下空间信息服务功能:空间对象.空间索引.空间操作函数和空间操作符等.在GaussDB 中,目前 ...

  8. 万字长文|大数据学前准备之Linux入门笔记(附资料)

    对于大数据学习而言,Linux运维可以说是必备的技能.可以不研究的过于高深,但是基本的操作和使用一定要熟练.Linux的学习需要大量的实践,本文从linux的基本知识,实战操作,到常用的指令与软件安装 ...

  9. DevSecOps 安全即代码基础指南

    在过去十年里我们见证了越来越多的企业开始或已经采用云技术,这也意味着云安全的重要性也越来越高.当谈及安全威胁,McKinsey 的一篇文章表明,云上大多数漏洞都是由于配置错误导致而非外部攻击造成底层云 ...

  10. Python pdf 转 图片

    安装依赖 D:\OpenSource\Python>pip install pdf2image pillow -i https://pypi.tuna.tsinghua.edu.cn/simpl ...