Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】

一、前言
对于经常做运维或者搞网络方面的朋友来说,服务器系统的性能是至关重要的,通常一般都会定期对系统性能进行检测,以确保服务器稳定运行,实现高可用。
例如,cpu负载性能,磁盘空间,以及经常要面临出现运行过慢,或者突然宕机等情况。
但是,一般的简单的top、uptime,w等命令只能查看当前系统的负载情况。那如果故障发生在大半夜或者是段时间内,则进行检测。
在这里插入图片描述
那么如何去查看某一段时间内的cpu的负载情况呢?

而sar命令便可以实现这一需求!

二、sar简介
sysstat是Linux系统中的常用工具包,而sar 是Linux中sysstat工具包中用于监控Linux系统性能的工具之一。
sysstat 工具包中包含两种类型的工具:即时查看工具(iostat、mpsat、sar);累计统计工具(sar)
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第1张图片
而sar 既可以做系统活动情况报告,又可以进行实时查看服务器的性能,还可以做累计统计。
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第2张图片
二、sar的监控功能
1、文件的读写情况
2、系统调用的使用情况
3、磁盘I/O的使用情况
4、CPU的使用统计
5、内存使用状况
6、进程活动
7、IPC【进程间通信】有关的活动

三、sar命令使用环境
sar使用格式:
sar + 命令行选项(可选) + 间隔时间(可选) + 次数(可选)

1、查询CPU
可用 sar -u 和 sar -q 等来查看
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第3张图片
sar-q:查看平均负载
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第4张图片
注:其中sar -q中显示参数:
#CPU:所有CPU的统计
#%user:用户态的CPU使用统计
#%nice:更改过优先级的进程的CPU使用统计
#%iowait:CPU等待IO数据的百分比
#%steal:虚拟机的vCPU占用的物理CPU的百分比
#%idle:空闲的CPU百分比

在以上的显示中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘I/O无法满足业务需求
如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。

2、查询内存
可用 sar -B、sar -r 和 sar -W 等来查看
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第5张图片
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第6张图片
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第7张图片
注:参数显示
#kbmemfree 空闲的物理内存大小
#kbmemused 使用中的物理内存大小
#%memused 物理内存使用率
#kbbuffers 内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
#kbcached 缓存的文件大小
#kbcommit 保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
#commit 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

3、查询io
可用 sar -b、sar -u 和 sar -d 等来查看
Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第8张图片
四、sar命令累计统计的实现过程
系统会通过调用 /usr/lib64/sa/ 中的三个工具(sa1 sa2 sadc)来实现,周期地记录当时的系统性能的信息的功能。

sa1 :收集并将每天的系统性能的信息写入一个二进制的文件中,它是sadc的前端程序
sa2 :收集每天的系统活跃的信息并写入总结性的文件中,其作为 sar的前端程序
sadc :收集系统的动态数据的数据并写入一个二进制的文件中,其作为 sar 工具的后端
在这里插入图片描述

五、sar的日志
sar是由有类似日志切割的功能的,它会依据/etc/cron.d/sysstat中的计划任务,将日志放入/var/log/sa/中

注:其日志为二进制文件,不可使用more、less、vim工具查看,必须使用sar或sadf
可根据自身情况修改计划任务
在这里插入图片描述

如果要查看某段时间内服务器性能情况:
可使用sar命令:查看当天的日志文件

sar -f /var/log/sa/sa15

Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第9张图片
六、sar使用【查看某一段时间的情况】
(1)查看凌晨2点到3点的cpu负载情况

sar -s 02:00:00 -e 03:00:00

Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第10张图片
(2)查看凌晨2点到3点的系统的平均负载
可加参数选项

sar -s 02:00:00 -e 03:00:00 -q

Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第11张图片
(3)查看本月1号的cpu
注意:默认只保存一个月的
sar查看性能或其日志时,注意自己的使用的是12还是24小时制
日志的切割是昨天晚上12点到今天12点为一天

cd /var/log/sa/
sar -f sa01

Linux命令之sar——查看服务器某一段时间内的CPU情况【系统性能检测】_第12张图片

OK~结束

你可能感兴趣的:(Linux,sar,服务器cpu检测)