linux下的sar工具简介

我习惯使用的命令是 :
sar  -r  -f   /var/log/sa/sa24

sar 既能报告当前数据,也能报告历史数据

不带选项执行会以10分钟为间隔报告自午夜起当天的CPU利用率。

脚本sal收集了这些历史数据,它是sar软件包的一部分,必须设置为定期从cron里运行

sar把自已收集的数据以二进制格式保存在/var/log/sa里

使用 sar -d 可以得到当天磁盘活动的情况汇总

sar -n  DEV 则能给出网络接口的统计信息

sar -A 可以报告所有的信息

sar 适用于快速粗略了解历史信息。

sar 命令行的常用格式: sar [options] [-o file] t [n]

options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。

2  使用
pidstat 2 5
//每隔2秒,显示5次,所有活动进程的CPU使用情况
pidstat -p 3132 2 5
//每隔2秒,显示5次,PID为3132的进程的CPU使用情况显示
pidstat -p 3132 2 5 -r
//每隔2秒,显示5次,PID为3132的进程的内存使用情况显示

查看CPU使用情况

sar 2 5
//每隔2秒,显示5次,CPU使用的情况

%usr:CPU处在用户模式下的时间百分比。 
%sys:CPU处在系统模式下的时间百分比。 
%wio:CPU等待输入输出完成时间的百分比。 
%idle:CPU空闲时间百分比。 
在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈, 
%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存, 
此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表 
明系统中最需要解决的资源是CPU。

sar 1 10 > data.txt
//每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。
sar 1 0 -e 15:00:00 > data.txt
//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)
sar 1 0 -r -e 15:00:00 > data.txt
//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。
sar 1 0 -n DEV -e 15:00:00 > data.txt
//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。

例二:使用命行sar -v t n 
例如,每30秒采样一次,连续采样5次,观察核心表的状态,需键入如下命令: 
# sar -v 30 5 
屏幕显示: 
SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 
10:33:23 proc-sz ov inod-sz ov file-sz ov lock-sz  (-v) 
10:33:53 305/ 321  0 1337/2764  0 1561/1706 0 40/ 128 
10:34:23 308/ 321  0 1340/2764  0 1587/1706 0 37/ 128 
10:34:53 305/ 321  0 1332/2764  0 1565/1706 0 36/ 128 
10:35:23 308/ 321  0 1338/2764  0 1592/1706 0 37/ 128 
10:35:53 308/ 321  0 1335/2764  0 1591/1706 0 37/ 128 
显示内容包括: 
proc-sz:目前核心中正在使用或分配的进程表的表项数,由核心参数MAX-PROC控制。 
inod-sz:目前核心中正在使用或分配的i节点表的表项数,由核心参数 
MAX-INODE控制。 
file-sz: 目前核心中正在使用或分配的文件表的表项数,由核心参数MAX-FILE控 
制。 
ov:溢出出现的次数。 
Lock-sz:目前核心中正在使用或分配的记录加锁的表项数,由核心参数MAX-FLCKRE 
控制。 
显示格式为 
实际使用表项/可以使用的表项数 
显示内容表示,核心使用完全正常,三个表没有出现溢出现象,核心参数不需调整,如 
果出现溢出时,要调整相应的核心参数,将对应的表项数加大。 
例三:使用命行sar -d t n 
例如,每30秒采样一次,连续采样5次,报告设备使用情况,需键入如下命令: 
# sar -d 30 5 
屏幕显示: 
SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 
11:06:43 device %busy avque r+w/s blks/s avwait avserv (-d) 
11:07:13 wd-0 1.47 2.75 4.67 14.73  5.50 3.14 
11:07:43 wd-0 0.43 18.77  3.07 8.66 25.11 1.41 
11:08:13 wd-0 0.77 2.78 2.77 7.26 4.94 2.77 
11:08:43 wd-0 1.10 11.18  4.10 11.26  27.32 2.68 
11:09:13 wd-0 1.97 21.78  5.86 34.06 69.66 3.35 
Average wd-0 1.15 12.11  4.09 15.19 31.12 2.80 
显示内容包括: 
device: sar命令正在监视的块设备的名字。 
%busy: 设备忙时,传送请求所占时间的百分比。 
avque: 队列站满时,未完成请求数量的平均值。 
r+w/s: 每秒传送到设备或从设备传出的数据量。 
blks/s: 每秒传送的块数,每块512字节。 
avwait: 队列占满时传送请求等待队列空闲的平均时间。 
avserv: 完成传送请求所需平均时间(毫秒)。 
在显示的内容中,wd-0是硬盘的名字,%busy的值比较小,说明用于处理传送请求的有 
效时间太少,文件系统效率不高,一般来讲,%busy值高些,avque值低些,文件系统 
的效率比较高,如果%busy和avque值相对比较高,说明硬盘传输速度太慢,需调整。 
例四:使用命行sar -b t n 
例如,每30秒采样一次,连续采样5次,报告缓冲区的使用情况,需键入如下命令: 
# sar -b 30 5 
屏幕显示: 
SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 
14:54:59 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b) 
14:55:29 0 147 100  5 21 78  0 0 
14:55:59 0 186 100  5 25 79  0 0 
14:56:29 4 232  98  8 58 86  0 0 
14:56:59 0 125 100  5 23 76  0 0 
14:57:29 0  89 100  4 12 66  0 0 
Average  1 156  99  5 28 80  0 0 
显示内容包括: 
bread/s: 每秒从硬盘读入系统缓冲区buffer的物理块数。 
lread/s: 平均每秒从系统buffer读出的逻辑块数。 
%rcache: 在buffer cache中进行逻辑读的百分比。 
bwrit/s: 平均每秒从系统buffer向磁盘所写的物理块数。 
lwrit/s: 平均每秒写到系统buffer逻辑块数。 
%wcache: 在buffer cache中进行逻辑读的百分比。 
pread/s: 平均每秒请求物理读的次数。 
pwrit/s: 平均每秒请求物理写的次数。 
在显示的内容中,最重要的是%cache和%wcache两列,它们的值体现着buffer的使用效 
率,%rcache的值小于90或者%wcache的值低于65,应适当增加系统buffer的数量,buffer 
数量由核心参数NBUF控制,使%rcache达到90左右,%wcache达到80左右。但buffer参数 
值的多少影响I/O效率,增加buffer,应在较大内存的情况下,否则系统效率反而得不到 
提高。 
例五:使用命行sar -g t n 
例如,每30秒采样一次,连续采样5次,报告串口I/O的操作情况,需键入如下命令: 
# sar -g 30 5 
屏幕显示: 
SCO_SV scosysv 3.2v5.0.5 i80386 11/22/2001 
17:07:03  ovsiohw/s  ovsiodma/s ovclist/s (-g) 
17:07:33 0.00 0.00 0.00 
17:08:03 0.00 0.00 0.00 
17:08:33 0.00 0.00 0.00 
17:09:03 0.00 0.00 0.00 
17:09:33 0.00 0.00 0.00 
Average  0.00 0.00 0.00 
显示内容包括: 
ovsiohw/s:每秒在串口I/O硬件出现的溢出。 
ovsiodma/s:每秒在串口I/O的直接输入输出通道高速缓存出现的溢出。 
ovclist/s :每秒字符队列出现的溢出。 
在显示的内容中,每一列的值都是零,表明在采样时间内,系统中没有发生串口I/O溢 
出现象。

linux下sar tool command note的更多相关文章

  1. Java - 问题集 - linux下,jar: command not found

    linux下的找不到jar命令解决方法如下: 1. 确认jdk是否已安装 2. 检查jdk环境变量是否已设置,并且确认该设置已生效 3. 1,2两步均正常时,建立jar的软链接 # cd /usr/b ...

  2. linux下提示bash:command not found

    新安装的linux系统,如果进行精简安装可能会出现bash:command not found 的提示,大家在安装的时候可以选择默认安装basic的组件,一般即可.到时候可以再升级.   如果新装的系 ...

  3. Linux下解决“shutdown: command not found"问题

    今天关机时,使用shutdown来执行此操作,但出现了一个"bash:shutdown:command not found"错误提示.这让我很困惑,这个命令在系统中是肯定存在的,但 ...

  4. 今天领导分享了一个探测端口的命令-linux下提示bash:command not found

    今天领导分享了一个探测端口的命令,于是试了一下,提示未找到-bash: nc: command not found  因此决定将bash的命令在复习一下,温故而知新 总结整理于此: 确定你的DNS可以 ...

  5. linux下形如{command,parameter,parameter}执行命令 / bash花括号扩展

    背景 在复现vulhub上的漏洞ActiveMQ Deserialization Vulnerability (CVE-2015-5254)时,发现官方文档给出反弹shell的payload bash ...

  6. Linux下bash: scp: command not found问题 或者装ssh包时报错 Requires: libedit.so.0()(64bit)

        一.用scp命令从物理主机向CentOS 6.1虚拟机传送文件,提示以下错误:bash: scp: command not found到CentOS 6.1虚拟机查看也缺少scp命令.该虚拟机 ...

  7. Linux 下 -bash: mysql: command not found解决办法

    -bash: mysql: command not found 1.vim ~/.bash_profile 最下面写 export PATH=$PATH:/usr/local/mysql/bin(你的 ...

  8. Linux下配置IP及安装vmware tool

    =======================CentOS 7以下======================= 配置IP: 1.获得mac地址 2.编辑ifcfg-eth0文件:vi /etc/sy ...

  9. linux下报错bash: service: command not found

    在linux下操作的时候经常会遇到,bash: service: command not found这个错误,以前在网上找了,照着弄了,也没细看原因,今天又碰到这个问题,就顺便研究一下. 1.通常这种 ...

随机推荐

  1. 使用Chrome快速实现数据的抓取(四)——优点

    些一个抓取WEB页面的数据程序比较简单,大多数语言都有相应的HTTP库,一个简单的请求响应即可,程序发送Http请求给Web服务器,服务器返回HTML文件.交互方式如下: 在使用DevProtocol ...

  2. inux下查看.so和可执行文件是否debug编译的方法

    命令 readelf -S libxxx.so |grep debug   如果有打印信息就是debug,否则是release.

  3. C++STL源代码学习(之slist篇)

    ///stl_slist.h ///list为双向循环链表,slist为单向链表.某些操作效率更高 ///slist是SGI额外提供的单向链表,不属于C++标准 struct _Slist_node_ ...

  4. Eclipse——浏览功能

    一,打开变量声明 或选择opendeclaration就能够查看变量的定义 二.打开类型层次结构(open type hierarchy) 或者点击F4 watermark/2/text/aHR0cD ...

  5. Maven最佳实践:Maven仓库

    什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文 件,如log4j.jar,junit. ...

  6. JAVA常见算法题(三十四)---计算加密之后的电话号码

    某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的, 加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换. 求加密之后的 ...

  7. 3D有向包围盒与球体碰撞的算法

    之前发的小游戏滚蛋躲方块中,用它来判断球体与立方体是否发生了碰撞. http://www.cnblogs.com/WhyEngine/p/3350012.html 现在发布下该算法: 有向包围盒OBB ...

  8. [13] 弧面(Arc)图形的生成算法

    顶点数据的生成 bool YfBuildArcVertices ( Yreal radius, Yreal degree, Yreal height, Yuint slices, Yuint stac ...

  9. iframe跨域与session失效问题

    何为跨域跨域session/cookie? 也就是第三方session/cookie.第一方session/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会 ...

  10. C# ftp ListFilesOnServer

    public static bool ListFilesOnServer(Uri serverUri) { // The serverUri should start with the ftp:// ...