有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但是,简单的top,uptime,w等命令只可以查看当前的负载,而无法查看过去的某一时间段的cpu的负载情况。
下面就介绍一个用于性能分析的命令,其可以用于查看过去的某一时间段的cpu的负载情况(系统性能)。
查看某一时间段的cpu使用情况,请直接跳到第七节。
sysstat是Linux 系统中的常用工具包,而sar 是 Linux中sysstat工具包中的用于监控Linux系统性能的工具之一。
sysstat 工具包中包含两种类型的工具:即时查看工具(iostat、mpstat、sar);累计统计工具(sar)
因此sar命令,又叫做系统活动情况报告。不仅可以实时查看服务器的性能,还可以做累计统计。
- 文件的读写情况
- 系统调用的使用情况
- 磁盘I/O使用情况
- CPU的使用统计
- 内存使用状况
- 进程活动
- IPC有关的活动
sar命令使用格式:
常用来判断一个系统瓶颈问题
系统会通过调用 /usr/lib64/sa/ 中的三个工具(sa1 sa2 sadc)来实现,周期地记录当时的系统性能的信息的功能。
sa1 :收集并将每天的系统性能的信息写入一个二进制的文件中,它是sadc的前端程序
sa2 :收集每天的系统活跃的信息并写入总结性的文件中,其作为 sar的前端程序
sadc :收集系统的动态数据的数据并写入一个二进制的文件中,其作为 sar 工具的后端

sar是由有类似日志切割的功能的,它会依据/etc/cron.d/sysstat中的计划任务,将日志放入/var/log/sa/中
注:日志为二进制文件,不可使用more、less、vim工具查看,必须使用sar或sadf
可以根据需求修改该计划任务

如要查看某一时间段的服务器的性能的其中一个方法就是:使用sar命令,查看当天的日志文件
sar -f /var/log/sa/sa15
注意:
sar查看性能或其日志时,使用的12/24小时制;日志的切割是昨天晚上12点到今天12点为一天;默认只保留一个月的日志



用法:sar + 选项 + 时间间隔(可选) + 次数 (可选)
<1>cpu的输出
sar -u

注意:
<2>I/O和传送速率输出
sar -b

<3>设备使用情况输出
sar -d

<4>网络设备统计信息输出
sar -n EDEV

<5>网络设备故障信息输出
EDEV |egrep ‘eth0|IFACE’ (本次指定了网卡etho0,可填入其他网卡)

<6>内存分页状态输出
sar -B

<7>进程队列长度和平均负载状态输出
sar -q

<8>内存和交换空间状态输出
sar -r

<9>系统交换活动信息输出
sar -W

<1>查看凌晨1点到3点的cpu
sar -s 01:00:00 -e 03:00:00

<2>查看凌晨1点到3点的系统的平均负载
若要看某时间段其他性能,加上对应选项
sar -s 01:00:00 -e 03:00:00 -q

<3>查看本月3号的cpu
注意:
- 该操作需要去查看sar的日志(第五节已经介绍一次)
- 默认只保存一个月的
- sar查看性能或其日志时,注意自己的使用的是12还是24小时制
- 日志的切割是昨天晚上12点到今天12点为一天


版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/7270.html