有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但是,简单的top,uptime,w等命令只可以查看当前的负载,而无法查看过去的某一时间段的cpu的负载情况。
下面就介绍一个用于性能分析的命令,其可以用于查看过去的某一时间段的cpu的负载情况(系统性能)。
查看某一时间段的cpu使用情况,请直接跳到第七节。
一、sar概念sysstat是Linux 系统中的常用工具包,而sar 是 Linux中sysstat工具包中的用于监控Linux系统性能的工具之一。
sysstat 工具包中包含两种类型的工具:即时查看工具(iostat、mpstat、sar);累计统计工具(sar)
因此sar命令,又叫做系统活动情况报告。不仅可以实时查看服务器的性能,还可以做累计统计。
二、sar可监控的范围文件的读写情况
系统调用的使用情况
磁盘I/O使用情况
CPU的使用统计
内存使用状况
进程活动
IPC有关的活动
三、sar命令使用环境sar命令使用格式:
sar + 命令行选项(可选) + 间隔时间(可选) + 次数(可选)常用来判断一个系统瓶颈问题
查询CPU 可用 sar -u 和 sar -q 等来查看 查询内存 可用 sar -B、sar -r 和 sar -W 等来查看 查询io 可用 sar -b、sar -u 和 sar -d 等来查看 四、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
[root@ lib64]# sar -f /var/log/sa/sa15 Linux 3.10.0-327.el7.x86_64 (ops-node7) 07/15/2018 _x86_64_ (24 CPU) 12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:10:01 AM all 1.35 0.00 0.85 0.12 0.00 97.67 12:20:01 AM all 1.32 0.00 0.86 0.11 0.00 97.71 12:30:02 AM all 1.37 0.00 0.87 0.11 0.00 97.65 12:40:01 AM all 1.32 0.00 0.91 0.11 0.00 97.66 12:50:01 AM all 1.35 0.00 0.89 0.11 0.00 97.65 01:00:01 AM all 1.36 0.00 0.87 0.11 0.00 97.66 01:10:01 AM all 1.36 0.00 0.85 0.11 0.00 97.68 01:20:01 AM all 1.35 0.00 0.89 0.10 0.00 97.66 01:30:01 AM all 1.32 0.00 0.89 0.11 0.00 97.68 01:40:01 AM all 1.29 0.00 0.95 0.11 0.00 97.65 01:50:01 AM all 1.35 0.00 0.88 0.12 0.00 97.64 02:00:01 AM all 1.34 0.00 0.88 0.11 0.00 97.68 02:10:01 AM all 1.33 0.00 0.90 0.11 0.00 97.65 02:20:01 AM all 1.36 0.00 0.87 0.12 0.00 97.65 02:30:01 AM all 1.35 0.00 0.85 0.12 0.00 97.68 02:40:01 AM all 1.41 0.00 0.92 0.12 0.00 97.56 02:50:01 AM all 1.57 0.00 0.95 0.13 0.00 97.35 03:00:01 AM all 4.21 0.00 0.81 0.16 0.00 94.81 03:10:01 AM all 2.50 0.00 0.87 0.13 0.00 96.50 03:20:01 AM all 1.37 0.00 0.87 0.12 0.00 97.65 03:30:01 AM all 1.36 0.00 0.95 0.13 0.00 97.56 03:40:01 AM all 1.48 0.00 0.97 0.24 0.00 97.30 03:50:01 AM all 1.35 0.01 0.91 0.13 0.00 97.60 04:00:01 AM all 1.39 0.00 0.95 0.19 0.00 97.47 04:10:01 AM all 1.36 0.00 0.99 0.13 0.00 97.52注意:
sar查看性能或其日志时,使用的12/24小时制;日志的切割是昨天晚上12点到今天12点为一天;默认只保留一个月的日志
六、sar命令参数及输出项详解 【1】格式