linux 中的sar命令 与gnuplot绘图

时间:2022-08-21 16:06:47

一.简单介绍

1.安装软件
#yum install sysstat  

[root@node1 sa]# rpm -ql sysstat
/etc/cron.d/sysstat
/etc/rc.d/init.d/sysstat
/etc/sysconfig/sysstat
/etc/sysconfig/sysstat.ioconf
/usr/bin/cifsiostat
/usr/bin/iostat
...


2.安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为
[root@node1 sa]# cat /etc/cron.d/sysstat 
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

在 cron 任务 /etc/cron.d/sysstat 中每隔10分钟执行一次 /usr/lib/sa/sa1
在 cron 任务 /etc/cron.d/sysstat 中每天 23:53执行一次 /usr/lib/sa/sa2



3.主要命令
在/usr/lib64/sa目录下有三个文件:
sa1  sa2  sadc

sa1:是调用sadc(二进制文件),将数据收集到二进制日志文件的一个Shell脚本。sa1命令还确保每天使用不同的文件。每隔十分钟运行一次该命令,最好不要改这个值,这是对一般系统折中的值。二进制日志文件存放在/var/log/sa/目录下,命名为sa${DATE}。

sa2:是将当日二进制日志文件中所有的数据转储到文本文件(sar)的另一个Shell脚本,然后它将清除七天之前的所有日志文件。参数-A指定了从二进制文件中提取哪些数据转储到文本文件中。转储的文件存放在/var/log/sa/目录下,命名为sar${DATE}。


文件 /var/log/sa/saDD 为二进制文件,不能使用more、less 等文本工具查看,必须用 sar 或 sadf 命令查看
文件 /var/log/sa/sarDD 为文本文件,可以使用more,cat 查看



二.查看cpu信息

1.进程队列长度和平均负载状态监控:  #每5s采样一次,连续采样10次,监控进程队列长度和平均负载状态[root@node1 sa]# sar -q 5 10Linux 2.6.32-642.el6.x86_64 (node1)     07/12/2017      _x86_64_        (4 CPU)08:44:50 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-1508:44:55 PM         0       182      0.00      0.01      0.0408:45:00 PM         0       182      0.00      0.01      0.0408:45:05 PM         0       182      0.00      0.01      0.0408:45:10 PM         0       182      0.00      0.01      0.0408:45:15 PM         0       182      0.00      0.01      0.0408:45:20 PM         0       182      0.00      0.01      0.04....runq-sz: 运行队列的长度(等待运行的进程数)plist-sz:进程列表中进程(processes)和线程(threads)的数量ldavg-1: 最近1分钟的系统平均负载(Systemload average)ldavg-5: 过去5分钟的系统平均负载ldavg-15:过去15分钟的系统平均负载2.CPU资源监控[root@node1 sa]# sar -u 1 10Linux 2.6.32-642.el6.x86_64 (node1)     07/12/2017      _x86_64_        (4 CPU)08:47:45 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle08:47:46 PM     all      0.00      0.00      0.99      0.00      0.00     99.0108:47:47 PM     all      0.00      0.00      1.25      0.00      0.00     98.7508:47:48 PM     all      0.00      0.00      1.74      0.00      0.00     98.2608:47:49 PM     all      0.25      0.00      1.49      0.00      0.00     98.2608:47:50 PM     all      0.00      0.00      1.25      0.00      0.00     98.7508:47:51 PM     all      0.00      0.00      1.50      0.00      0.00     98.50...输出项说明:CPU:all     #表示统计信息为所有 CPU 的平均值。%user       #显示在用户级别(application)运行使用 CPU 总时间的百分比。%nice       #显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。%system     #在核心级别(kernel)运行所使用 CPU 总时间的百分比。%iowait     #显示用于等待I/O操作占用 CPU 总时间的百分比。%steal      #管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。%idle       #显示CPU空闲时间占用CPU总时间的百分比。若 %iowait 的值过高,表示硬盘存在I/O瓶颈若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量若 %idle 的值持续低于 10,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是CPU。


三.查看磁盘I/O和传送速率的统计信息

[root@node1 sa]# sar -b输出项说明:tps            #每秒钟物理设备的 I/O 传输总量rtps           #每秒钟从物理设备读入的数据总量wtps           #每秒钟向物理设备写入的数据总量bread/s        #每秒钟从物理设备读入的数据量,单位为 块/sbwrtn/s        #每秒钟向物理设备写入的数据量,单位为 块/s


四.查看内存信息

sar -rkbmemfree         #空余内存kbmemused         #使用内存%memused          #使用内存/总内存kbbuffers  bufferkbcached  cachekbcommit           #保证正常工作的内存,保证不会内存溢出%commitkbcommit/(RAM+SWAP)



五.利用gnuplot工具对sa文件进行画图

1.安装软件gnuplotyum install gnuplot2.对sa文件进行处理(取我们想得到的数据)LANG=C  sar -f sa02 -q | grep -v "Average:" | awk 'NR>3 {print $0}' > /tmp/1113.编辑脚本(重点)vim a.plt set xdata time                    #定义x轴数据格式set timefmt '%H:%M:%S'            #定义x轴单位格式set xlabel 'Time'                 #定义显示标签set format x '%H:%M:%S'            set terminal png truecolor  size 1600,900set output "/var/www/html/1.png"set ylabel 'Load Avg'set yrange [0:]plot '/tmp/111' using 1:4 title '1min' with lines,'/tmp/111' using 1:5 title    '5min' with lines,'/tmp/111' using 1:6 title '15min' with lines4.执行脚本:gnuplot a.plt5.查看结果:(1)ls /var/www/html/1.png  #在此目录下生成图片(2)在浏览器中打开          #验证图片

六.使用 ksar 工具分析系统性能

yum install java下载包 wget        export DISPLAY=192.168.193.1:0    sh run.sh


linux 中的sar命令 与gnuplot绘图


Ttansfer/s: 每秒从物理磁盘 I/O 的次数 . 多个逻辑请求会被合并为一个 I/O 磁盘请求,一次传输的大小是不确定的 .

Read/s: 每秒的读请求数

Writer/s: 每秒的写请求数

Block bread/s: 每秒读磁盘的数据块数

Block wrtn/s: 每秒写磁盘的数据块数



https://www.ibm.com/developerworks/cn/linux/1303_caojh_ksar/


本文出自 “独上高楼,望尽天涯路” 博客,请务必保留此出处http://nxyboy.blog.51cto.com/10511646/1946877