Linux性能监控(一)-sar

sar是一个非常全面的一个分析工具,对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
--help查看一下:
[root@iZuf657isp1alim7einvk6Z ~]# sar --help
用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
Options are:
[ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ]
[ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ] [ -n { <keyword> [,...] | ALL } ]
[ -o [ <filename> ] | -f [ <filename> ] ] [ --legacy ]
[ -i <interval> ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
-A:所有报告的总和。
-u:输出CPU使用情况的统计信息。
-v:输出inode、文件和其他内核表的统计信息。
-d:输出每一个块设备的活动信息。
-r:输出内存和交换空间的统计信息。
-b:显示I/O和传送速率的统计信息。
-R:输出内存页面的统计信息。
-y:终端设备活动情况。
-w:输出系统交换活动信息。
-B:显示换页状态。
-e:设置显示报告的结束时间。
-f:从指定文件提取报告。
-i:设状态信息刷新的间隔时间。
-p:报告每个CPU的状态。
-q:平均负载分析。
下面介绍几个常用的:
1、统计CPU使用情况
命令:sar -u 1 3,统计CPU的使用情况,每间隔1秒钟统计一次总共统计三次。
[root@iZuf657isp1alim7einvk6Z ~]# sar -u 1 3
Linux 2.6.32-754.23.1.el6.x86_64 (iZuf657isp1alim7einvk6Z) 2022年09月04日 _x86_64_ (8 CPU)
23时55分22秒 CPU %user %nice %system %iowait %steal %idle
23时55分23秒 all 14.81 0.00 1.14 8.35 0.00 75.70
23时55分24秒 all 14.34 0.00 1.26 7.42 0.00 76.98
23时55分25秒 all 14.18 0.00 1.01 7.47 0.00 77.34
平均时间: all 14.44 0.00 1.14 7.75 0.00 76.67
%user:用户空间的CPU使用。
%nice:改变过优先级的进程的CPU使用率。
%system:内核空间的CPU使用率。
%iowait:CPU等待IO的百分比。
%steal:虚拟机的虚拟机CPU使用的CPU。
%idle:空闲的CPU。
在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。
2、内存统计分析
命令:sar -r 1 3,查看内存使用情况,每间隔1秒钟统计一次总共统计三次。
[root@iZuf657isp1alim7einvk6Z ~]# sar -r 1 3
Linux 2.6.32-754.23.1.el6.x86_64 (iZuf657isp1alim7einvk6Z) 2022年09月05日 _x86_64_ (8 CPU)
00时01分16秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
00时01分17秒 369456 32510660 98.88 128704 7057296 20432776 62.14
00时01分18秒 365828 32514288 98.89 128704 7061612 20432776 62.14
00时01分19秒 359528 32520588 98.91 128704 7066180 20436368 62.15
平均时间: 364937 32515179 98.89 128704 7061696 20433973 62.15
kbmemfree:空闲的物理内存大小。
kbmemused:使用中的物理内存大小。
%memused:物理内存使用率。
kbbuffers:内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache。
kbcached:缓存的文件大小。
kbcommit:保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)。
%commit:这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的。
3、平均负载统计分析
命令:sar -q 1 3,查看内存使用情况,每间隔1秒钟统计一次总共统计三次。
[root@iZuf657isp1alim7einvk6Z ~]# sar -q 1 3
Linux 2.6.32-754.23.1.el6.x86_64 (iZuf657isp1alim7einvk6Z) 2022年09月05日 _x86_64_ (8 CPU)
00时04分57秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00时04分58秒 1 646 1.91 1.82 1.75
00时04分59秒 1 646 1.91 1.82 1.75
00时05分00秒 1 646 1.91 1.82 1.75
平均时间: 1 646 1.91 1.82 1.75
runq-sz:运行队列的长度(等待运行的进程数,每核的CP不能超过3个)。
plist-sz:进程列表中的进程(processes)和线程数(threads)的数量。
ldavg-1:最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推。
ldavg-5:最后5分钟的CPU平均负载。
ldavg-15:最后15分钟的CPU平均负载。
4、统计swap分区
命令:sar -W 1 3,查看系统swap分区的统计信息:每间隔1秒钟统计一次总共统计三次。
[root@iZuf657isp1alim7einvk6Z ~]# sar -W 1 3
Linux 2.6.32-754.23.1.el6.x86_64 (iZuf657isp1alim7einvk6Z) 2022年09月05日 _x86_64_ (8 CPU)
00时07分01秒 pswpin/s pswpout/s
00时07分02秒 0.00 0.00
00时07分03秒 0.00 0.00
00时07分04秒 0.00 0.00
平均时间: 0.00 0.00
pswpin/s:每秒从交换分区到系统的交换页面(swap page)数量。
pswpott/s:每秒从系统交换到swap的交换页面(swap page)的数量。
5、查看磁盘使用情况
命令:sar -d 1 3,磁盘使用详情统计,每间隔1秒钟统计一次总共统计三次。
[root@iZuf657isp1alim7einvk6Z ~]# sar -d 1 3
Linux 2.6.32-754.23.1.el6.x86_64 (iZuf657isp1alim7einvk6Z) 2022年09月05日 _x86_64_ (8 CPU)
00时09分05秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
00时09分06秒 dev252-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时09分06秒 dev252-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时09分06秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
00时09分07秒 dev252-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时09分07秒 dev252-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时09分07秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
00时09分08秒 dev252-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00时09分08秒 dev252-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
平均时间: dev252-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: dev252-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
DEV:磁盘设备的名称。
tps:每秒I/O的传输总数。
rd_sec/s:每秒读取的扇区的总数。
wr_sec/s:每秒写入的扇区的总数。
avgrq-sz:平均每次次磁盘I/O操作的数据大小(扇区)。
avgqu-sz:磁盘请求队列的平均长度。
await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒等于1000毫秒),等于寻道时间+队列时间+服务时间。
svctm:I/O的服务处理时间,即不包括请求队列中的时间。
%util:I/O请求占用的CPU百分比,值越高,说明I/O越慢。
6、查看磁盘IO
命令:sar -b 1 3,查看I/O和传递速率的统计信息,每间隔1秒钟统计一次总共统计三次。
[root@iZuf657isp1alim7einvk6Z ~]# sar -b 1 3
Linux 2.6.32-754.23.1.el6.x86_64 (iZuf657isp1alim7einvk6Z) 2022年09月05日 _x86_64_ (8 CPU)
00时12分08秒 tps rtps wtps bread/s bwrtn/s
00时12分09秒 0.00 0.00 0.00 0.00 0.00
00时12分10秒 2.08 0.00 2.08 0.00 41.67
00时12分11秒 7.00 0.00 7.00 0.00 144.00
平均时间: 3.07 0.00 3.07 0.00 62.80
tps:磁盘每秒钟的IO总数,等于iostat中的tps。
rtps:每秒钟从磁盘读取的IO总数。
wtps:每秒钟从写入到磁盘的IO总数。
bread/s:每秒钟从磁盘读取的块总数。
bwrtn/s:每秒钟此写入到磁盘的块总数。
Linux性能监控(一)-sar的更多相关文章
- Linux性能监控命令——sar
介绍 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的 ...
- 【性能测试】Linux性能监控命令——sar详解
转载:https://blog.csdn.net/mig_davidli/article/details/52149993 sar命令可以从文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率. ...
- Linux性能监控
转自:http://blog.csdn.net/chosen0ne/article/details/8200737 linux性能监控,就是要监控系统的各个子系统是否正常.linux主要的子系统包括: ...
- linux性能监控 -CPU、Memory、IO、Network等指标的讲解
[操作系统-linux]linux性能监控 -CPU.Memory.IO.Network等指标的讲解(转) 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,Syst ...
- Linux性能监控与分析之--- CPU
Linux性能监控与分析之--- CPU 望月成三人关注 2016.07.25 18:16:12字数 1,576阅读 2,837 CPU性能指标 用户进程使用CPU的比率 系统进程使用CPU的比率 W ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本2
Linux 性能监控之CPU&内存&I/O监控Shell脚本2 by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本1
Linux 性能监控之CPU&内存&I/O监控Shell脚本1 by:授客 QQ:1033553122 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...
- Linux性能监控分析命令(二)—sar命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
- 使用vmstat和iostat命令进行Linux性能监控【转】
转自:https://linux.cn/article-4024-1.html 这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系 ...
- vmstat和iostat命令进行Linux性能监控
这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和 ...
随机推荐
- 领域知识图谱-中式菜谱知识图谱:实现知识图谱可视化和知识库智能问答系统(KBQA)
领域知识图谱-中式菜谱知识图谱:实现知识图谱可视化和知识库智能问答系统(KBQA) A knowledge graph for Chinese cookbook(中式菜谱知识图谱),可以实现知识图谱可 ...
- Linux的进程管理 [补档-2023-07-25]
Linux进程管理 9-1并发与并行: 并发:在同一个cpu上,并且在一个时间段时,同时运行多个程序.比如在1000毫秒内,我们有5个程 序需要执行,所以我们可以将1000毫秒分为5个200毫秒, ...
- asp.net 生成word,处理图片,富文本框内容图片处理
//基本导出方法public void Download() { Random rd = new Random(); string fileName = DateTime.Now.ToString(& ...
- linux笔记-工作
根据进程id或进程名查看端口号 netstat -antup|grep 2073 netstat -antup|grep processName 查看某个端口号是否被占用 netstat -tln | ...
- Windows配置PHP的MongoDB扩展
环境 Windows 10 PHP 5.6.40/8.1.11 配置 下载MongoDB扩展 下载地址:https://pecl.php.net/package/mongodb 下载PHP版本对应的扩 ...
- 利用 ASP.NET Core 开发单机应用
前言 现在是分布式微服务开发的时代,除了小工具和游戏之类刚需本地运行的程序已经很少见到纯单机应用.现在流行的Web应用由于物理隔离天然形成了分布式架构,核心业务由服务器运行,边缘业务由客户端运行.对于 ...
- 取代传统BIOS的EFI和UEFI究竟是什么?
传统的蓝白BIOS界面可以说是陪伴着很多玩家共同成长,不过在英特尔发布Sandy Bridge架构处理器的时候,传统BIOS也到了和我们说再见的时间,采用图形化界面的EFI以及UEFI很快就取代了传统 ...
- 求助:Docker怎么连接mongoDB?
首先 在playwithDocker中通过docker pull mongo引入mongo 然后创建容器 docker run -it --name mymongo -p 27017:27017 -v ...
- HBase-表的压缩
一.如何选择压缩算法以及Data_Block_Encoding?(1)如果Key很长,或者有很多Column,那么推荐使用FAST_DIFF.(2)如果数据是冷数据,不经常被访问,那么使用GZIP压缩 ...
- NC16697 [NOIP2001]Car的旅行路线
题目链接 题目 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I个城市中 ...