关于sar的学习
关于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的学习的更多相关文章
- Linux 性能工具 - sar学习
简介 sar是一款在linux下的性能工具,可以观察到CPU,内存,IO,运行队列,每秒上下文切换等信息. 软件工具安装 #Ubuntu sudo apt-get install sysstat # ...
- HANA学习笔记1-搭建HANA学习环境
一 硬件环境 两台电脑,一台为服务器装跑HANA虚拟机,一台为客户端运行HANA_STUDIO 服务器:内存至少需要16G windows server 2003 64位 ...
- 最近学习linux命令的一个总结
最近学习了unix power tools,一方面是想增加对unix系统的了解:另一方面也是想增进使用效率,因为unix一大特色就是内置工具的丰富性.有了这些工具,可以方便的查看系统信息,查找需要的文 ...
- Oracle学习线路
出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和 ...
- Linux系统性能统计工具Sar和实时系统性能监控脚本
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...
- mpstat, pidstat, iostat和sar
在我们上一篇文章中,我们已经学习了如何去安装和更新sysstat,并且了解了包中的一些实用工具. 今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这 ...
- SAR命令
前面已经介绍了 vmstat和top命令的解析及使用,下面我们来学习一个更重要的命令sarsar命令可以通过参数单独查看系统某个局部的使用情况 sar 命令行的常用格式: sar [options] ...
- Go学习指南
学习Golang书籍&资料: 1. The Go Programming Language Specification: http://golang.org/ref/spec 2. How ...
- RHCA学习笔记:RH442-Unit8进程与调度
UNIT 8 Processes and the Scheduler 进程与调度 学习目标 A. CPU cache 与Service time之间的关系 B. 分析应用程序使用CPU cach ...
- RHCA442学习笔记-Unit11内存回收
Unit 12 Memory Reclamation 内存回收 学习目标: A. 了解和调整内存回收 ...
随机推荐
- three.js中帧缓存的使用
目录 1. 概述 2. 示例 2.1. 代码 2.2. 解析 3. 参考 1. 概述 在网上查阅了一下three.js关于帧缓存的使用,感觉很多都是关于three.js中后处理通道的使用的.后处理通道 ...
- 大数据实践解析(上):聊一聊spark的文件组织方式
摘要: 在大数据/数据库领域,数据的存储格式直接影响着系统的读写性能.Spark针对不同的用户/开发者,支持了多种数据文件存储方式.本文的内容主要来自于Spark AI Summit 2019中的一个 ...
- 华为云河图KooMap:夯实数字孪生底座,点燃燎原星火
摘要:7月8日,华为开发者大会2023(Cloud)华为云河图KooMap技术分论坛在东莞溪村顺利举办. 7月8日,华为开发者大会2023(Cloud)华为云河图KooMap技术分论坛在东莞溪村顺利举 ...
- 看完这篇,DWS故障修复不再愁
摘要:本文详细梳理分析了DWS服务面临软硬件故障场景和对应的修复原理,希望借此能够让你对DWS的集群故障修复有个全面深入的了解. 本文分享自华为云社区<GaussDB(DWS)故障修复系统性介绍 ...
- Solon 的多配置文件切换
比如有配置文件: app.yml app-dev.yml app-pro.yml 可以通过启动参数:-env java -jar demoapp.jar -env=dev
- MQTT(EMQX) - Linux CentOS Docker 安装
MQTT(EMQX) - Linux CentOS 直接安装 和 Docker 安装 常规安装 下载文件 版本选择:https://www.emqx.com/zh/downloads/broker/ ...
- Google Guava ListeningExecutorService
POM <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> < ...
- 数据存入已有Excel
import openpyxl filepath = r'.\UCB2Create_course\SuccsessCourse.xlsx' wb = openpyxl.load_workbook(fi ...
- 互联网公司Python高性能编程
虽然Python一直被吐槽执行速度慢,但是架不住简洁的语法和丰富的第三方库使其能够节省开发时间.众所周知在互联网公司中要求频繁的迭代.快速的上线,而Python的优点就特别适合这种需求,所以Pytho ...
- 【HZERO】消息发送
消息发送 https://open.hand-china.com/community/detail/625843016338378752 新建模板 @Override public String sh ...