关于sar的学习

关于,sar,学习 · 浏览次数 : 19

小编点评

**Sar学习背景公司套基于某冷门Python架构的系统前几天出现异常卡顿。当时安装的时候必须使用ubuntu系统。所以当时默认安装的ubuntu1804, 本来想尝试使用一下sar查看卡顿时期的系统状况但是发现没有默认安装。并且最近虽然有node-exporter 以及prometheus 和 grafana 但是想着文字数字型的应该更好处理一下。** **以下是如何进行sar查看卡顿时期的系统状况的步骤:** 1. **安装sar工具** ``` sudo apt install sar ``` 2. **启动sar工具** ``` sar -f /var/log/sysstat/sa13 ``` 3. **查看卡顿时期的系统状况** ``` tail -f /var/log/sysstat/sa13 ``` **sar工具的选项可以用于查看各种系统性能指标,例如CPU使用率、内存利用率、磁盘读写速度、网络连接状况等。** **一些常用的sar选项:** * **-b**:显示I/O和传输速率信息状况 * **-B**:显示分页状况 * **-d**:显示块设备状况 * **-F**:显示文件系统统计信息 * **-H**:显示交换空间利用率 * **-I**:显示中断信息状况 * **-m**:显示电源管理统计信息 * **-n**:显示网络统计信息 * **-q**:显示队列长度和平均负载 * **-r**:显示内存利用率 * **-R**:显示内存状况 * **-S**:显示交换空间利用率 * **-u**:显示CPU利用率 * **-v**:显示内核表状况 * **-w**:显示任务创建与系统转换统计信息 * **-W**:显示交换信息 * **-y**:显示TTY设备状况

正文

关于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的学习相似的内容:

关于sar的学习

# 关于sar的学习 ## 背景 ``` 公司一套基于某冷门Python架构的系统前几天出现异常卡顿. 当时安装的时候必须使用ubuntu系统. 所以当时默认安装的ubuntu1804, 本来想尝试使用一下sar查看卡顿时期的系统状况 但是发现没有默认安装. 并且最近虽然有node-exporter

[转帖]sar命令查看历史数据

https://zhidao.baidu.com/question/336610169339992805.html 2022-06-29 · TA获得超过4965个赞 关注 前言有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但

关于面向对象的方法并行执行的问题

LabVIEW的从同一个类实例化的多个对象如何执行各自的方法呢? 这几天跟同事讨论到LabVIEW的面向对象编程中,如果我设计的一个类有一个方法比较耗时,那么当我实例化多个对象时,那么这个耗时的方法是怎么执行的呢?是各自并行执行还是,必须等某一个对象的方法调用完,接下来调用第二个对象的该方法呢? 接

关于ComfyUI的一些Tips

关于ComfyUI的一些Tips 前言: 最近发的ComfyUI相关文章节奏不知道会不会很快,在创作的时候没有考虑很多,想着把自己的知识分享出去。后台也看到很多私信,有各种各样的问题,这是我欠缺考虑了,今天这篇文章呢,根据私信的问题我大致整理了一下,给大家一些小tips。 目录 一、将 ComfyU

关于领域驱动设计,大家都理解错了

翻遍整个互联网,我发现,关于领域驱动设计,大家都**理解错了**。 今天,我们尝试通过一篇文章的篇幅,给大家展示一个完全不同的视角,把“领域驱动设计”这六个字解释清楚。 ## 领域驱动设计学习资料现状 领域驱动设计的概念提出已经有20年的时间了,整个互联网充斥着大量书籍、文章和视频教程,这里我列举几

关于docker-compose up -d 出现超时情况处理

由于要搭建一个ctf平台,用docker一键搭建是出现超时情况 用了很多办法,换源,等之类的一样没办法,似乎它就是只能用官方那个一样很怪。 只能用一种笨办法来处理了,一个个pull。 打个比如: 打开相对应docker-compose.yml文件 可以看到image就是需要去下载的。那么此时你就可以

关于 KL 散度和变分推断的 ELBO

ELBO 用于最小化 q(z|s) 和 p(z|s) 的 KL 散度,变成最大化 p(x|z) 的 log likelihood + 最小化 q(z|s) 和先验 p(z) 的 KL 散度。

关于面试被面试官暴怼:“几年研究生白读” 的前因后果

中午一个网友来信说自己和面试官干起来了,看完他的描述真是苦笑不得,这年头是怎么了,最近互联网CS消息满天飞,怎么连面试官都SB起来了呢? 大概是这样的:这位网友面试时被问及了Serializable接口的底层实现原理,因为这是一个标识性的空接口,大部分同学在学习时都秉持着会用就行(说实话,Build

关于vue中image控件,onload事件里,event.target 为null的奇怪问题探讨

废话不多说(主要文笔比较差),直接上代码 一个简单的demo,如下 vue代码 imgLoaded(e) { deb

漏洞复现之CVE-2012-1823(PHP-CGI远程代码执行)

关于CGI知识点 CGI模式下的参数: -c 指定php.ini文件的位置 -n 不要加载php.ini文件 -d 指定配置项 -b 启动fastcgi进程 -s 显示文件源码 -T 执行指定次该文件 -h和-? 显示帮助 题目如下图,没有什么发现 目录扫描一下 dirsearch -u http: