sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

安装(centos): yum -y install sysstat 

要启动SAR,必须通过cron工具以周期性的间隔启动。
安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为:
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A
这里用到了两个命令
/usr/lib/sa/sa1
/usr/lib/sa/sa2
sa1:是调用sadc(二进制文件),将数据收集到二进制日志文件的一个Shell脚本。sa1命令还确保每天使用不同的文件。每隔十分钟运行一次该命令,最好不要改这个值,这是对一般系统折中的值。二进制日志文件存放在/var/log/sa/目录下,命名为sa${DATE}。
sa2:是将当日二进制日志文件中所有的数据转储到文本文件(sar)的另一个Shell脚本,然后它将清除七天之前的所有日志文件。参数-A指定了从二进制文件中提取哪些数据转储到文本文件中。转储的文件存放在/var/log/sa/目录下,命名为sar${DATE}。

启动采集: service crond start 

关于sar如何使用可百度下,或者直接 man sar学习一番。直接给出一个实用监控脚本。

实时系统性能监控脚本

#! /bin/bash
export LC_ALL=en_US.UTF-8
# cpu load(5 min)
#cpu_usage=`uptime | awk '{print $11}' | cut -d , -f1`
#echo "cpu " $cpu_usage
# memery usage
mem_usage=`free | grep "buffers/cache" | awk '{print $3 * 100 /($3 + $4) }'`
echo "memory " $mem_usage
# cpu usage
cpu_usage=`sar -C 1 1 | grep "Average:" | awk '{print $3}'`
echo "cpu " $cpu_usage
disk_tps=`sar -b 1 1 | grep "Average:" | awk '{print $2}'`
echo "disk tps " $disk_tps
em1_load=`sar -n DEV 1 1 | grep "Average:" | grep "em1"`
net_recv_packet_em1=`echo $em1_load | awk '{print $3}'`
net_send_packet_em1=`echo $em1_load | awk '{print $4}'`
net_recv_kB_em1=`echo $em1_load | awk '{print $5}'`
net_send_kB_em1=`echo $em1_load | awk '{print $6}'`
echo "em1 net load " $net_recv_packet_em1 $net_send_packet_em1 $net_recv_kB_em1 $net_send_kB_em1
em2_load=`sar -n DEV 1 1 | grep "Average:" | grep "em2"`
net_recv_packet_em2=`echo $em2_load | awk '{print $3}'`
net_send_packet_em2=`echo $em2_load | awk '{print $4}'`
net_recv_kB_em2=`echo $em2_load | awk '{print $5}'`
net_send_kB_em2=`echo $em2_load | awk '{print $6}'`
echo "em2 net load " $net_recv_packet_em2 $net_send_packet_em2 $net_recv_kB_em2 $net_send_kB_em2
swap_page_num=`sar -W 1 1 | grep "Average:" | awk '{print $2 + $3}'`
echo "swap pages number " $swap_page_num

Linux系统性能统计工具Sar和实时系统性能监控脚本的更多相关文章

  1. Linux网络统计工具/命令

    我在Linux(基于CentOS 或者 Debian 的发行版)中该如何查看当前网络端口吞吐量的统计信息?在Linux操作系统中如何查看当前内核snmp计数器以及网络端口的统计信息? 你可以使用以下任 ...

  2. Linux 系统性能分析工具 sar

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以 从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用 ...

  3. Linux性能统计工具

    Linux下的一些I/O统计工具 http://blog.csdn.net/longxibendi/article/details/36004155

  4. [工具开发] keepalived使用nagios监控脚本

    最近在做开发和办公环境的高可用,采用的是keepalived:keepalived基于Linux内核支持的LVS,既能实现高可用,又能实现负载均衡,非常实用. keepalived监控服务状态时可以用 ...

  5. [Linux 性能检测工具]SAR

    SAR NAME: SAR报告,收集,保存系统活动信息 语法: sar  [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ...

  6. Linux 性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  7. [转]Linux性能分析工具汇总合集

    出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...

  8. 超全整理!Linux性能分析工具汇总合集

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  9. (转)超全整理!Linux性能分析工具汇总合集

    超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...

随机推荐

  1. Unity 编辑器的 界面布局 保存方法

    在软件界面的右上角(关闭按钮的下方),点击  layout  (界面)的下拉箭头. 弹出选项中的 save layout....(保存界面选项),输入命名,就可以生成这个界面的布局.  (软件本身也有 ...

  2. liunx 字符编码问题

    查询当前服务器的编码:echo $LANG 设置服务器的编码:LANG=en_US.UTF-8

  3. java 数据导入到exc ,并下载

    package com.lizi.admin.controller.platform.excel; import java.util.List;import java.util.Map; import ...

  4. linux系统启动时更改MAC地址

    vim /etc/rc.local #change the server's MAC address("00:50:56:84:5C:76" change to 00:50:56: ...

  5. 60行以内写mvc

    标题党.几天前看到一个30行写mvc的文章,东施效颦,也动手写了个60行的,功能上略微扩充一些,记录下来,后面有时间可以继续优化. mvc其实是一个观察者模式.view来监听model,所以当mode ...

  6. [LeetCode] 435 Non-overlapping Intervals

    Given a collection of intervals, find the minimum number of intervals you need to remove to make the ...

  7. Codeforces #380 div2 C(729C) Road to Cinema

    C. Road to Cinema time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  8. linux Ubuntu(Segmentation fault)段错误出现原因及调试方法

      在linux下编译了一个程序,尝试运行的时候出现: Segmentation fault (core dumped) 初步确认为...完全不知道是什么玩意. 于是找度娘了. ----------- ...

  9. a标签创建超链接,利用a标签创建锚点

    #Html今日学习内容 <!DOCTYPE html> <html> <head lang="en">     <meta charset ...

  10. STL练习题续

    //zjnu 1399 //sort 数组可用//vector sort(vector) #include<iostream> #include<algorithm> usin ...