博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 中的sar命令 与gnuplot绘图
阅读量:7109 次
发布时间:2019-06-28

本文共 4224 字,大约阅读时间需要 14 分钟。

一.简单介绍

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
1.进程队列长度和平均负载状态监控:
   
#每5s采样一次,连续采样10次,监控进程队列长度和平均负载状态
[root@node1 sa]
# sar -q 5 10
Linux 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-15
08:44:55 PM         0       182      0.00      0.01      0.04
08:45:00 PM         0       182      0.00      0.01      0.04
08:45:05 PM         0       182      0.00      0.01      0.04
08:45:10 PM         0       182      0.00      0.01      0.04
08:45:15 PM         0       182      0.00      0.01      0.04
08: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 10
Linux 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     %idle
08:47:46 PM     all      0.00      0.00      0.99      0.00      0.00     99.01
08:47:47 PM     all      0.00      0.00      1.25      0.00      0.00     98.75
08:47:48 PM     all      0.00      0.00      1.74      0.00      0.00     98.26
08:47:49 PM     all      0.25      0.00      1.49      0.00      0.00     98.26
08:47:50 PM     all      0.00      0.00      1.25      0.00      0.00     98.75
08: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和传送速率的统计信息

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

四.查看内存信息

1
2
3
4
5
6
7
8
9
sar -r
 
kbmemfree         
#空余内存
kbmemused         
#使用内存
%memused          
#使用内存/总内存
kbbuffers  buffer
kbcached  cache
kbcommit           
#保证正常工作的内存,保证不会内存溢出
%commitkbcommit/(RAM+SWAP)


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1.安装软件gnuplot
 
yum 
install 
gnuplot
 
2.对sa文件进行处理(取我们想得到的数据)
LANG=C  sar -f sa02 -q | 
grep 
-
v 
"Average:" 
awk 
'NR>3 {print $0}' 
/tmp/111
 
3.编辑脚本(重点)
vim a.plt 
 
set 
xdata 
time                    
#定义x轴数据格式
set 
timefmt 
'%H:%M:%S'            
#定义x轴单位格式
set 
xlabel 
'Time'                 
#定义显示标签
set 
format 
'%H:%M:%S'            
set 
terminal png truecolor  size 1600,900
set 
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 lines
 
 
4.执行脚本:
gnuplot a.plt
 
5.查看结果:
(1)
ls 
/var/www/html/1
.png  
#在此目录下生成图片
(2)在浏览器中打开          
#验证图片

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

1
2
3
4
5
6
7
8
9
yum 
install 
java
 
下载包
 
wget     
  
  
 
export 
DISPLAY=192.168.193.1:0 
  
  
sh run.sh

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/

本文转自   a8757906   51CTO博客,原文链接:http://blog.51cto.com/nxyboy/1946877

转载地址:http://kkthl.baihongyu.com/

你可能感兴趣的文章
python中的argparse模块学习
查看>>
POJ - 1753 Flip Game(状压枚举)
查看>>
Execute to Parse %: 29.76,数据库硬解析过高,监控告警提示数据库硬解析比例过低...
查看>>
三、Hadoop命令
查看>>
moment.js笔记
查看>>
2.1 Word 插入 smartart、图表
查看>>
css+div的存在问题
查看>>
PoEdu - C++阶段班【Po学校】- Lesson03-4_构造函数&赋值函数&拷贝构造函数&学习方式 - 第6天...
查看>>
通过url给action传中文参数乱码解决方案
查看>>
糊涂窗口综合症
查看>>
Hadoop的调度器总结(转)
查看>>
Linux磁盘空间被未知资源耗尽
查看>>
英语基础
查看>>
核心动画 - CAKeyframeAnimation 简单应用
查看>>
html的marquee理解
查看>>
区块链中的密码学
查看>>
大数据第七天
查看>>
放新浪微博的箭头css写法
查看>>
H5视频推流方案
查看>>
struts2获得需要的文件或者访问路径
查看>>