sysstat-----获取服务器负载历史记录
sysstat工具与负载历史回放
很多系统负载过高的时候我们是无法立即获知或者立即解决的,当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar命令同样来自sysstat工具包,可以记录系统的CPU负载、I/O状况和内存使用记录,便于历史数据的回放。
Ubuntu系统上,sysstat的配置文件在/etc/default/sysstat,sysstat默认关闭,通过将该文件中的ENABLED改为"true"启用;历史日志的存放位置为/var/log/sysstat
Red Hat系统上,sysstat的配置文件在/etc/sysconfig/sysstat文件,历史日志的存放位置为/var/log/sa
两种系统上,统计信息都是每10分钟记录一次,每天的23:59会分割统计文件,这些操作的频率都在/etc/cron.d/sysstat文件配置。
1. sar命令查看CPU、内存和磁盘记录
默认情况下,sar命令显示当天的统计信息,不带参数显示CPU统计信息,参数-r显示收集的内存记录,-b显示磁盘I/O
例6. 使用sar命令查看当天CPU使用

1 # sar
2 Linux 3.13.0-55-generic (ISeR-Server1) 08/12/2015 _x86_64_ (4 CPU)
3
4 12:00:01 AM CPU %user %nice %system %iowait %steal %idle
5 12:05:01 AM all 3.83 0.02 4.24 0.61 0.00 91.30
6 12:15:01 AM all 3.57 0.02 4.28 0.58 0.00 91.54
7 12:25:01 AM all 3.83 0.02 5.16 0.60 0.00 90.39
8 12:35:01 AM all 3.98 0.02 5.66 0.58 0.00 89.76
9 12:45:01 AM all 3.86 0.02 5.26 0.59 0.00 90.28
10 12:55:01 AM all 3.77 0.02 5.19 0.60 0.00 90.42

例7. 使用sar命令查看当天内存使用

1 # sar -r
2 Linux 3.13.0-55-generic (ISeR-Server1) 08/12/2015 _x86_64_ (4 CPU)
3
4 12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
5 12:05:01 AM 6420736 5839392 47.63 242640 1366912 6811944 55.56 4324000 1202152 24
6 12:15:01 AM 6423128 5837000 47.61 242640 1367348 6830944 55.72 4320608 1202400 48
7 12:25:01 AM 6430984 5829144 47.55 242640 1367548 6814980 55.59 4314376 1202468 48
8 12:35:01 AM 6422924 5837204 47.61 242640 1367848 6817224 55.60 4321604 1202576 48
9 12:45:01 AM 6427300 5832828 47.58 242640 1368056 6822240 55.65 4318412 1202572 28

例8. 使用sar命令查看当天IO统计记录

1 # sar -b
2 Linux 3.13.0-55-generic (ISeR-Server1) 08/12/2015 _x86_64_ (4 CPU)
3
4 12:00:01 AM tps rtps wtps bread/s bwrtn/s
5 12:05:01 AM 7.44 0.00 7.44 0.00 279.22
6 12:15:01 AM 6.45 0.00 6.45 0.00 255.84
7 12:25:01 AM 6.59 0.00 6.59 0.00 260.20
8 12:35:01 AM 6.51 0.00 6.51 0.00 261.42
9 12:45:01 AM 6.42 0.00 6.42 0.00 255.79

2. 使用sar查看指定时间、指定日期的历史记录
例9. 使用参数-s和-e限定查看的时间

1 # sar -s 20:00:00
2 Linux 3.13.0-55-generic (ISeR-Server1) 08/12/2015 _x86_64_ (4 CPU)
3
4 08:05:01 PM CPU %user %nice %system %iowait %steal %idle
5 08:15:01 PM all 3.98 0.02 6.07 0.58 0.00 89.34
6 08:25:01 PM all 4.32 0.02 5.74 0.58 0.00 89.34
7 Average: all 4.15 0.02 5.91 0.58 0.00 89.34

例9 只查看当天20:00:00后的CPU统计记录
例10. 使用参数-f查看本月内之前某一天的历史统计信息

1 # sar -f /var/log/sysstat/sa08
2 Linux 3.13.0-55-generic (ISeR-Server1) 08/08/2015 _x86_64_ (4 CPU)
3
4 12:00:01 AM CPU %user %nice %system %iowait %steal %idle
5 12:05:01 AM all 3.65 0.02 2.79 0.60 0.00 92.94
6 12:15:01 AM all 3.45 0.02 3.03 0.56 0.00 92.94
7 12:25:01 AM all 3.43 0.02 3.25 0.56 0.00 92.74
8 12:35:01 AM all 3.44 0.01 3.09 0.56 0.00 92.89
9 12:45:01 AM all 3.25 0.02 1.35 0.55 0.00 94.83
10 12:55:01 AM all 3.36 0.02 1.77 0.56 0.00 94.29
sysstat-----获取服务器负载历史记录的更多相关文章
- Nginx + tomcat服务器 负载均衡
Nginx 反向代理初印象 Nginx (“engine x”) 是一个高性能的HTTP和反向代理 服务器,也是一个IMAP/POP3/SMTP服务器.其特点是占有内存少,并发能力强,事实上nginx ...
- asp.net mvc4 简单的服务器监控开发之C#获取服务器CPU、RAM、TCP等系统信息(上)
一.背景 前段时间服务器出了点问题,加上学业愈来愈紧张,写博文分享的时间越来越少.虽然不是第一次在博客园上写经验,但是近期分享的博文得到了不少的朋友支持和指正,在这里内心非常感激和开心.希望以后能认真 ...
- java获取服务器IP地址及MAC地址的方法
这篇文章主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下 本文实例讲述了 ...
- JAVA获取服务器路径的方法
1.在JSF环境中获取到ServletContext: 1 2 ServletContext sc = (ServletContext)FacesContext. getCurrent ...
- php cli方式下获取服务器ip
(未整理....) (1)php cli方式下获取服务器ip [php] function getServerIp(){ $ss = exec('/sbin/ifconfig et ...
- .NET获取服务器信息,如服务器版本、IIS等
.NET获取服务器信息,如服务器版本.IIS等 .NET获取服务器信息,如服务器版本.IIS版本.数据库大小.网站系统空间占用大小.网站部署路径等等 .NET获取系统环境信息 #region 返回操作 ...
- 使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析
使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析 因为我在前台使用了jquery的text()方法,而不是html ...
- Android 学习笔记之Volley(六)实现获取服务器的字符串响应...
学习内容: 1.使用StringRequest实现获取服务器的字符串响应... 前几篇一直都在对服务——响应过程的源码进行分析,解析了整个过程,那么Volley中到底实现了哪些请求才是我们在开发中 ...
- [转]PHP 获取服务器详细信息代码
转自:http://jingyan.baidu.com/article/fdbd4277049c8bb89e3f4893.html 获取系统类型及版本号: php_uname() (例:Windows ...
随机推荐
- 搭建VirtualBox虚拟机集群
===============================VirtualBox常用网络===============================NetworkAddress Translati ...
- js动态修改Easyui元素不生效,EasyUI动态渲染解析解决方案
easyui的渲染是在在网页加载完成后,相当于在$(document).ready()事件中,对整个网页进行了一次扫描,发现某个input标签含有easyui的属性,就在相应的地方进行ui的修改.因此 ...
- getservbyname和getservbyport
一.getservbyname函数原型 #include <netdb.h> struct servent *getservbyname(const char *servname, con ...
- Ubuntu中安装python3.6(转)
因为TensorFlow只支持到python3.6,所以安装python3.6版本 Python3.6的使用越来越普遍.Ubuntu16.04的版本中默认胸自带python2和python3.5的版本 ...
- JavaScript之正则表达式[应用实例]
1. 获取信息 "水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周} ...
- luogu P3244 [HNOI2015]落忆枫音
传送门 md这题和矩阵树定理没半毛钱关系qwq 首先先不考虑有环,一个\(DAG\)个外向树个数为\(\prod_{i=2}^{n}idg_i(\)就是\(indegree_i)\),因为外向树每个点 ...
- luogu P3236 [HNOI2014]画框
传送门 我们把一种方案的\(\sum a_{i,j}\)和\(\sum b_{i,j}\)看成点\((\sum a_{i,j},\sum b_{i,j})\),那么就只要求横纵坐标之积最小的点,类似于 ...
- 第28月第22天 iOS动态库
1. NIMSDK 在 5.1.0 版本之后已改为动态库,集成方式有所改变,若需要集成高于此版本的 SDK,只需要做以下步骤: 将下载的 SDK 拖动到 Targets -> General - ...
- python的进程/线程/协程
1.python的多线程 多线程就是在同一时刻执行多个不同的程序,然而python中的多线程并不能真正的实现并行,这是由于cpython解释器中的GIL(全局解释器锁)捣的鬼,这把锁保证了同一时刻只有 ...
- Leetcode#118. Pascal's Triangle(杨辉三角)
题目描述 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5 输出: [ [1], [1,1], [1,2, ...