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. 一起买beta版PHP单元测试

    一起买beta版PHP单元测试 测试目的 保证代码质量,对各个单元进行测试,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误. 单元描述 完成帖子接口 ​ 将"正在进行&q ...

  2. tomcat 解决端口8080冲突

    这样的问题有时会因为eclipse等IDE使用bug导致. 解决方法: 使用dos 命令 运行---cmd--netstat -ano|findstr 8080 键入命令后,dos下会显示正在使用80 ...

  3. SQL Server 2008通过LinkServer操作ORACLE

    时光荏苒~~ 最近项目有需求需要通过SQL Server2008中的数据自动更新到ORACLE中,其实,一开始肯定会想到触发器,因为可以保证实时性. 方案一: 首先,我很确定的一件事情就是MSSQL中 ...

  4. angularjs 分页精华代码

    //pageinfo $scope.pageSize=10;$scope.currentType={{ current_type }};$scope.currentPage={{ json_encod ...

  5. 推荐有料哥:HR社保公积金状况大揭底

    昨天下午有料哥和几位三茅运营成员一起和大家进行三个小时的面对面,如潮的问题让几位三茅团队成员都措手不及了,有料哥也融入了大家紧张好奇问题的好奇,无奈水平有限不能很好回复,请大家谅解,有问题还可以在有料 ...

  6. 使用my exclipse对数据库进行操作(4)

    四.删除 public class class4 { public static void main(String[] args) { // TODO Auto-generated method st ...

  7. Kiwi iOS驱动测试开发

    Kiwi是iOS开发一个行为驱动开发库.目标是提供一个BDD库,精美的简单安装和使用. 安装 使用CocoaPods安装: pod 'Kiwi'如果使用Xcode5则使用: pod 'Kiwi/XCT ...

  8. fcc

    function spinalCase(str) { if(str.split(/\W|_/).length==1){ for(var i=0;i<str.length;i++){ if(/[A ...

  9. 【转】Chrome快捷键

    感谢原作者:http://www.cnblogs.com/mikalshao/archive/2010/11/03/1868568.html 标签页和窗口快捷键 Ctrl+N 打开新窗口. Ctrl+ ...

  10. BZOJ1188 [HNOI2007]分裂游戏(SG函数)

    传送门 拿到这道题就知道是典型的博弈论,但是却不知道怎么设计它的SG函数.看了解析一类组合游戏这篇论文之后才知道这道题应该怎么做. 这道题需要奇特的模型转换.即把每一个石子当做一堆石子,且原来在第i堆 ...