如何理解SystemActivityReport

如何理解System Activity Report,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

专业从事成都网站建设、做网站,高端网站制作设计,小程序制作,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用成都h5网站建设+CSS3前端渲染技术,响应式网站设计,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

sar 命令行的常用格式:

sar [options] [-A] [-o file] t [n]


在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,


file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:


-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
-n: 记录网络使用情况


默认监控: sar 5 5     //  CPU和IOWAIT统计状态 
(1) sar -b 5 5        // IO传送速率
(2) sar -B 5 5        // 页交换速率
(3) sar -c 5 5        // 进程创建的速率
(4) sar -d 5 5        // 块设备的活跃信息
(5) sar -n DEV 5 5    // 网路设备的状态信息
(6) sar -n SOCK 5 5   // SOCK的使用情况
(7) sar -n ALL 5 5    // 所有的网络状态信息
(8) sar -P ALL 5 5    // 每颗CPU的使用状态信息和IOWAIT统计状态 
(9) sar -q 5 5        // 队列的长度(等待运行的进程数)和负载的状态
(10) sar -r 5 5       // 内存和swap空间使用情况
(11) sar -R 5 5       // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
(12) sar -u 5 5       // CPU的使用情况和IOWAIT信息(同默认监控)
(13) sar -v 5 5       // inode, file and other kernel tablesd的状态信息
(14) sar -w 5 5       // 每秒上下文交换的数目
(15) sar -W 5 5       // SWAP交换的统计信息(监控状态同iostat 的si so)
(16) sar -x 2906 5 5  // 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
(17) sar -y 5 5       // TTY设备的活动状态
(18) 将输出到文件(-o)和读取记录信息(-f)






CPU      CPU 标识符;“all”表示所有 CPU    
%user    用户进程使用的 CPU 百分比。Oracle 进程属于这一类。   
%nice    在 nice 优先级下执行的 CPU 利用率百分比    
%system  执行系统进程的 CPU 百分比    
%iowait  等待进行 I/O 操作的 CPU 百分比    
%idle    等待工作的 CPU 空闲百分比  








sar 依托于  sysstat 包


[root@testdb ~]# rpm -qa|grep sysstat
sysstat-7.0.2-11.el5


如果没有安装可以使用 yum install sysstat 进行安装


启动sysstat 
/etc/init.d/sysstat start 


设置sysstat自启动 
checkfig sysstat on


1.手工编写脚本使用sar命令监控系统
   1.1 抽取昨日的sar 文件,比较麻烦.
   1.2 每天23:59:59 抽取当天的 sar 信息到文件, oracle 数据中采用外部表进行访问
     1.21 定义脚本
     #!/bin/bash
     sar | awk '/:01/{print $1,$2,$3,$4,$5,$6,$7,$8,$9}' >>/tmp/sarlog.txt


     上面是脚本代码,定义在 crontab 中.
     12:10:01 AM       all      0.05      0.00      0.02      0.08      0.00     99.86
     以上面一行为例,都是 :01 分运行的,所以我根据这个条件来获取每一行
     
     1.22 创建外部表


     SQL> create or replace directory sardump as '/tmp';


     Directory created.


CREATE TABLE EXTER_SAR
(
vdate VARCHAR(12),
vapm VARCHAR(12),
vcpu VARCHAR(12),
vuser VARCHAR(12),
vnice VARCHAR(12),
vsystem VARCHAR(12),
viowait VARCHAR(12),
vsteal VARCHAR(12),
vidle VARCHAR(12)
) ORGANIZATION EXTERNAL
(
type oracle_loader
default directory sardump
access parameters
(
records delimited by newline
fields terminated by ' '
)
location ('sarlog.txt')
);
     1.23 进行一次验证


     SQL> select * from EXTER_SAR;


VDATE        VAPM         VCPU         VUSER        VNICE        VSYSTEM      VIOWAIT      VSTEAL       VIDLE
------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------ ------------
12:00:01     AM           CPU          %user        %nice        %system      %iowait      %steal       %idle
12:10:01     AM           all          0.05         0.00         0.02         0.08         0.00         99.86


        大概实现了目的


2.系统自动定时监控


    2.1 修改运行时间
         默认为10分钟监控一次
         [root@testdb ~]# cat /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A


         可以将  */10  进行修改




     2.2 修改保存时间
         sar 系统定时监控默认保存 7 天,保存路径为 /var/log/sa
         
[root@testdb ~]# cat /usr/lib64/sa/sa2
#!/bin/sh
# /usr/lib64/sa/sa2.sh
# (C) 1999-2006 Sebastien Godard (sysstat  wanadoo.fr)
#
# Changes:
# - 2004-01-22 Nils Philippsen
#   make history configurable
#
HISTORY=7
[ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat
[ ${HISTORY} -gt 25 ] && HISTORY=25
S_TIME_FORMAT=ISO ; export S_TIME_FORMAT
umask 0022
DATE=`date  +%d`
RPT=/var/log/sa/sar${DATE}
ENDIR=/usr/bin
DFILE=/var/log/sa/sa${DATE}
[ -f "$DFILE" ] || exit 0
cd ${ENDIR}
${ENDIR}/sar $* -f ${DFILE} > ${RPT}
find /var/log/sa \( -name 'sar??' -o -name 'sa??' \) -mtime +"${HISTORY}" -exec rm -f {} \;
 可将  HISTORY=7   进行修改

看完上述内容,你们掌握如何理解System Activity Report的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文标题:如何理解SystemActivityReport
网页URL:http://scyanting.com/article/joojoh.html