linux sar命令 性能监控

news2024/3/4 13:11:21

目录

1. CPU资源监控

2. inode、文件和其他内核表监控

3. 内存和交换空间监控

4. 内存分页监控

5. I/O和传送速率监控

6. 进程队列长度和平均负载状态监控

7. 系统交换活动信息监控

8.统计网络信息

9. 设备使用情况监控

10.常用命令汇总


sar命令常用格式

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

其中:

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

options 为命令行选项,sar命令常用选项如下:

 

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

 

1. CPU资源监控

例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:

输出项说明:

CPU:all 表示统计信息为所有 CPU 的平均值。

%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。

%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。

%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。

%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。

%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。

1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈

2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量

3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

如果要查看二进制文件test中的内容,需键入如下sar命令:

sar -u -f test

 

2. inode、文件和其他内核表监控

例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

sar -v 10 3

屏幕显示如下:

17:10:49 dentunusd file-nr inode-nr pty-nr

17:10:59 6301 5664 12037 4

17:11:09 6301 5664 12037 4

17:11:19 6301 5664 12037 4

Average: 6301 5664 12037 4

输出项说明:

dentunusd:目录高速缓存中未被使用的条目数量

file-nr:文件句柄(file handle)的使用数量

inode-nr:索引节点句柄(inode handle)的使用数量

pty-nr:使用的pty数量

 

3. 内存和交换空间监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

sar -r 10 3

屏幕显示如下:

输出项说明:

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

 

4. 内存分页监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

sar -B 10 3

屏幕显示如下:

输出项说明:

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

 

5. I/O和传送速率监控

例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

sar -b 10 3

屏幕显示如下:

18:51:05 tps rtps wtps bread/s bwrtn/s

18:51:15 0.00 0.00 0.00 0.00 0.00

18:51:25 1.92 0.00 1.92 0.00 22.65

18:51:35 0.00 0.00 0.00 0.00 0.00

Average: 0.64 0.00 0.64 0.00 7.59

输出项说明:

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

 

6. 进程队列长度和平均负载状态监控

例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

sar -q 10 3

屏幕显示如下:

19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15

19:26:00 0 259 0.00 0.00 0.00

19:26:10 0 259 0.00 0.00 0.00

19:26:20 0 259 0.00 0.00 0.00

Average: 0 259 0.00 0.00 0.00

输出项说明:

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

 

7. 系统交换活动信息监控

例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:

sar -    W 10 3

屏幕显示如下:

19:39:50 pswpin/s pswpout/s

19:40:00 0.00 0.00

19:40:10 0.00 0.00

19:40:20 0.00 0.00

Average: 0.00 0.00

输出项说明:

pswpin/s:每秒系统换入的交换页面(swap page)数量

pswpout/s:每秒系统换出的交换页面(swap page)数量

 

8.统计网络信息

#sar -n选项使用6个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6和UDP6 ,DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。 

sar -n DEV 1 1: 每间隔1秒统计一次,总计统计1次,下面的average是在多次统计后的平均值

 

#IFACE 本地网卡接口的名称

#rxpck/s 每秒钟接受的数据包

#txpck/s 每秒钟发送的数据库

#rxKB/S 每秒钟接受的数据包大小,单位为KB

#txKB/S 每秒钟发送的数据包大小,单位为KB

#rxcmp/s 每秒钟接受的压缩数据包

#txcmp/s 每秒钟发送的压缩包

#rxmcst/s 每秒钟接收的多播数据包   

sar -n EDEV  1 1  #统计网络设备通信失败信息:

#IFACE 网卡名称

#rxerr/s 每秒钟接收到的损坏的数据包

#txerr/s 每秒钟发送的数据包错误数

#coll/s 当发送数据包时候,每秒钟发生的冲撞(collisions)数,这个是在半双工模式下才有

#rxdrop/s 当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目

#txdrop/s 当由于缓冲区满的时候,网络设备发送端每秒钟丢掉的网络包的数目

#txcarr/s  当发送数据包的时候,每秒钟载波错误发生的次数

#rxfram   在接收数据包的时候,每秒钟发生的帧对其错误的次数

#rxfifo    在接收数据包的时候,每秒钟缓冲区溢出的错误发生的次数

#txfifo    在发生数据包 的时候,每秒钟缓冲区溢出的错误发生的次数

 

sar -n SOCK 1 1  #统计socket连接信息

 

#totsck 当前被使用的socket总数

#tcpsck 当前正在被使用的TCP的socket总数

#udpsck  当前正在被使用的UDP的socket总数

#rawsck 当前正在被使用于RAW的skcket总数

#if-frag  当前的IP分片的数目

#tcp-tw TCP套接字中处于TIME-WAIT状态的连接数量

########如果你使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合 

sar -n TCP 1 3 #TCP连接的统计

 

#active/s 新的主动连接

#passive/s 新的被动连接

#iseg/s 接受的段

#oseg/s 输出的段

  1.10.5:sar -n 使用总结

-n DEV : 网络接口统计信息。
-n EDEV : 网络接口错误。
-n IP : IP数据报统计信息。
-n EIP : IP错误统计信息。
-n TCP : TCP统计信息。
-n ETCP : TCP错误统计信息。
-n SOCK : 套接字使用。

 

9. 设备使用情况监控

例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:

# sar -d 10 3 –p

屏幕显示如下:

17:45:54    DEV    tps    rd_sec/s    wr_sec/s    avgrq-sz    avgqu-sz    await    svctm    %util

17:46:04    scd0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

17:46:04    sda    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

17:46:04    vg_livedvd-lv_root    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

17:46:04    vg_livedvd-lv_swap    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

其中:

参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.

rd_sec/s:每秒读扇区的次数.

wr_sec/s:每秒写扇区的次数.

avgrq-sz:平均每次设备I/O操作的数据大小(扇区).

avgqu-sz:磁盘请求队列的平均长度.

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.

%util:I/O请求占CPU的百分比,比率越大,说明越饱和.

1. avgqu-sz 的值较低时,设备的利用率较高。

2. 当%util的值接近 1% 时,表示设备带宽已经占满。

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

 

10.常用命令汇总

因版本和平台不同,有部分命令可能没有或显示结果不一致:

默认监控: 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)


sar也可以监控非实时数据,通过cron周期的运行到指定目录下
例如:我们想查看本月27日,从0点到23点的内存资源.
sa27就是本月27日,指定具体的时间可以通过-s(start)和-e(end)来指定.
sar -f /var/log/sa/sa27 -s 00:00:00 -e 23:00:00 -r

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://nwjs.net/news/300089.html

如若内容造成侵权/违法违规/事实不符,请联系七分地网进行投诉反馈,一经查实,立即删除!

相关文章

android绘制高亮区域,实现高亮某行的RecyclerView效果

最终效果全部代码:github方式有二组合控件,RecyclerView View自定义RecyclerView1中只需要控制View,但是不好封装。2中需要重写RecyclerView中一些东西,最终就是一个CustomRecyclerView。所以采用的是第二种方法。代码100来行。主…

Android App监听软键盘按键的三种方式

前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的“GO”按键加载url页面;在点击搜索框的时候,点击右下角的search符号键可以进行搜索;或者在全…

常用元素位置与大小总结

偏移量 offsetHeight: 元素在垂直方向占据的空间大小 > 内容高度 上下padding 上下boderoffsetWidth: 元素在水平方向占据的空间大小 > 内容宽度 左右padding 左右boderoffsetTop: 元素外边框距离offsetParent的上内边框的距离offsetLeft: 元素外边框距离offsetParen…

android将被代替的控件,Android 控件被忽略的属性

作者:ivm参考了 http://www.cnblogs.com/jisheng/archive/2013/01/10/2854088.html导航栏:1.TextView autoLinkHtml.fromHtml()2.Typeface :设置字体3.Switch 及 togglebutton4.AnalogClock DigitalClock 两个时钟的控件5.5.秒表控件Chronic…

AngularJS 、Backbone.js 和 Ember.js 的比较

2019独角兽企业重金招聘Python工程师标准>>> 译文: http://www.oschina.net/translate/javascript-framework-comparison 原文: http://www.airpair.com/js/javascript-framework-comparison 转载于:https://my.oschina.net/ilivebox/blog/307816

linux “大脏牛”漏洞分析(CVE-2017-1000405)

一、背景简介 脏牛漏洞(CVE-2016–5195)是公开后影响范围最广和最深的漏洞之一,这十年来的每一个Linux版本,包括Android、桌面版和服务器版都受到其影响。恶意攻击者通过该漏洞可以轻易地绕过常用的漏洞防御方法,对几百万的用户进行攻击。尽…

安卓音乐播放器开发实例

本文将引导大家做一个音乐播放器,在做这个Android开发实例的过程中,能够帮助大家进一步熟悉和掌握学过的ListView和其他一些组件。为了有更好的学习效果,其中很多功能我们手动实现,例如音乐播放的快进快退等。 先欣赏下本实例完成…

云计算&大数据 “下一幕”智能变革之力

2019独角兽企业重金招聘Python工程师标准>>> 2016年的互联网科技领域,云计算、大数据、人工智能成为最热词汇。阿里云“为了无法估算的价值”将中国的计算触角伸向海外,百度首次向外界展示“百度大脑”的科技成果,移动互联网利用人…

html和css有序列表,HTMLCSS基础学习笔记14—有序列表及列表嵌套

我们上篇讲到了无序列表,那么今天就来看看有序列表和他们的组合嵌套使用吧。有序列表现在我们要做那堆杂事了,但是发现这么多杂事,先做哪个好呢?于是我们给这堆杂事弄个优先级排序,让我们能够按照顺序做下去。HTML里用…

华硕笔记本BIOS设置详解

BIOS是英文Basic Input/Output System的缩写,即基本输入输出系统,合理的BIOS设置可以让我们的电脑更好的为我们服务,但由于大部分笔记本的BIOS界面是英文,并且BIOS里面的某些关键选项稍有差池就会导致各种各样的问题,导…

发表论文不用愁,十大技巧治秃头

鱼羊 编译整理 量子位 报道 | 公众号 QbitAI做研究跟发文章,完全是两码事。实验一时爽,落笔火葬场。好不容易憋出了初稿,又有多少研究僧跪在了反复修改的漫漫长路上。对于很多科研党来说,比起嗑盐的过程,恐怕写文章更让…

Ext4 MVC CRUD操作

项目目录结构如下&#xff1a; &#xff08;1&#xff09;index.html <!DOCTYPE html> <html><head><title>用户管理</title><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial…

手机拍视频,实时换背景,继马卡龙玩图后,Versa又出了一款更厉害的App

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI在前不久荣耀9X的发布会上&#xff0c;一个名叫绿幕侠的App亮相了。现场的展示中&#xff0c;这个App能让手机拍摄的视频&#xff0c;产生电影绿幕一般的效果&#xff0c;实时从视频中去掉背景&#xff0c;只保留主角人物&#…

html中多边形图形怎么制作,CSS制作图形速查表

前面在《纯CSS制作的图形效果》一文中介绍了十六种CSS画各种不同图形的方法。今天花了点时间将这方面的制作成一份清单&#xff0c;方便大家急用时有地方可查。别的不多说了&#xff0c;直接看代码。为了节省时间&#xff0c;下面图形都采用的一个标签&#xff0c;可以是块元素…

unity学习

2019独角兽企业重金招聘Python工程师标准>>> 1.发布ios应用的时候会生成一个xcode工程。已经发布过ios&#xff0c;再次发布的时候可以选择replace 或者是append原xcode工程。如果ios工程是不同unity版本创建的&#xff0c;那么不能append。但是如果我们修改过ios的…

腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年

问耕 发自 麦蒿寺量子位 出品 | 公众号 QbitAI王者峡谷&#xff0c;风云突变。一场激烈的对战正在进行&#xff0c;左侧是五位人类职业电竞高手组成的赛区联队&#xff0c;另一方是……嗯&#xff1f;他们的对手没有出场&#xff1f;五个座椅空空荡荡&#xff1f;不。他们的对手…

mfc 内嵌 本地html,MFC程序中内嵌网页,附示例工程

最近在课程设计&#xff0c;因为小悠太懒了&#xff0c;是在不想用C完成一些简单的文件上传下载操作&#xff0c;于是就想着将网页内嵌到程序中&#xff0c;上传下载神马的就直接使用网页Web来完成就好了&#xff0c;本示例中将演示在MFC程序中内嵌一个html网页介绍一下原理首先…

最高5000倍加速模拟物理世界,育碧在修复bug上又进一步

晓查 发自 凹非寺量子位 出品 | 公众号 QbitAI“买bug送游戏”对育碧游戏的玩家来说简直是常态。即使是育碧的当家游戏《刺客信条》、《孤岛惊魂》系列也是bug也是多到令人发指。比如《刺客信条&#xff1a;大革命》中&#xff0c;主角的脸部建模突然失控&#xff0c;变成一张“…

AI帮你靠“想象”打字:手机电脑软键盘也能盲打了,准确率能达到95%

铜灵 发自 凹非寺量子位 出品 | 公众号 QbitAI有了机器学习&#xff0c;没有软键盘还能照样打字。凭啥&#xff1f;凭想象。来自韩国科学技术高级研究院在一项最新研究中&#xff0c;提出了一种完全靠想象的键盘&#xff1a;I-Keyboard&#xff0c;这个界面上看不到软键盘上的字…

php curl 内容采集

2019独角兽企业重金招聘Python工程师标准>>> function contentCollection($url){$data array(list>null,status>0);if(!$url){$data[info] 请传入采集地址;return $data;}if(!preg_match("/^http/", $url)){$url http://.$url;}preg_match("…