linux性能监控之sar

2024-05-12 16:52
文章标签 linux 性能 监控 sar

本文主要是介绍linux性能监控之sar,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.sar命令介绍       

         sar是一个非常全面的分析工具,可以对文件的读写,系统调用的使用情况,磁盘IO,CPU相关使用情况,内存使用情况,进程活动等都可以进行有效的分析。

        sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。

        它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

[root@k8s-master ~]# sar --help
Usage: sar [ options ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
[ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
[ -I { <int> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
[ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> [,...] | ALL } ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ -f [ <filename> ] | -o [ <filename> ] | -[0-9]+ ]
[ -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:平均负载分析 

2.常用命令介绍:

        2.1 对CPU利用率进行统计:sar -u [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -u 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)08:56:43 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
08:56:44 AM     all      1.07      0.00      2.14      0.00      0.00     96.79
08:56:45 AM     all      2.09      0.00      2.09      0.00      0.00     95.81
08:56:46 AM     all      2.11      0.00      5.26      0.00      0.00     92.63
Average:        all      1.76      0.00      3.17      0.00      0.00     95.07注:
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

        2.2 对网络进行统计:sar -n <关键词> [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -n DEV 1 1
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:06:31 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:06:32 AM cali324bad13e1c      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:06:32 AM        lo    177.00    177.00     20.65     20.65      0.00      0.00      0.00
09:06:32 AM cali605405e33b2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:06:32 AM virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:06:32 AM    virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:06:32 AM     ens33      2.00      2.00      0.15      0.22      0.00      0.00      0.00
09:06:32 AM calie83b417d9e6      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:06:32 AM     tunl0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:06:32 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:    cali324bad13e1c      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:           lo    177.00    177.00     20.65     20.65      0.00      0.00      0.00
Average:    cali605405e33b2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        ens33      2.00      2.00      0.15      0.22      0.00      0.00      0.00
Average:    calie83b417d9e6      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        tunl0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00注:
命令中 1 1 表示每一秒钟取 1 次值,一共取 1 次。

 

        2.3 对索引节点,文件和其他的内核表的状态进行统计:sar -v [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -v 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)08:58:18 AM dentunusd   file-nr  inode-nr    pty-nr
08:58:19 AM     11459      6080     41891         2
08:58:20 AM     11459      6080     41891         2
08:58:21 AM     11479      6080     41891         2
Average:        11466      6080     41891         2注:
dentunusd:目录高速缓存中未被使用的条目数量
file-nr:文件句柄(file handle)的使用数量
inode-nr:索引节点句柄(inode handle)的使用数量
pty-nr:使用的 pty 数量

        2.4 对内存利用率的统计:sar -r [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -r 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)08:59:33 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
08:59:34 AM    106216   1756600     94.30         0    557132   4552640    244.40   1182992    263940         0
08:59:35 AM    106216   1756600     94.30         0    557132   4552640    244.40   1183000    263936         0
08:59:36 AM    106216   1756600     94.30         0    557132   4552640    244.40   1183000    263936         0
Average:       106216   1756600     94.30         0    557132   4552640    244.40   1182997    263937         0注:
kbmemfree:这个值和 free 命令中的 free 值基本一致,所以它不包括 buffer 和 cache 的空间
kbmemused:这个值和 free 命令中的 used 值基本一致,所以它包括 buffer 和 cache 的空间
%memused:这个值是 kbmemused 和内存总量(不包括 swap)的一个百分比
kbbuffers 和 kbcached:这两个值就是 free 命令中的 buffer 和 cache
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM + swap)
%commit:这个值是 kbcommit 与内存总量(包括 swap)的一个百分比

        2.5 对内存分页状况统计:sar -B [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -B 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:00:24 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
09:00:25 AM      0.00     48.00    263.00      0.00    389.00      0.00      0.00      0.00      0.00
09:00:26 AM      0.00      0.00     35.00      0.00     66.00      0.00      0.00      0.00      0.00
09:00:27 AM      0.00     52.00   1604.00      0.00    499.00      0.00      0.00      0.00      0.00
Average:         0.00     33.33    634.00      0.00    318.00      0.00      0.00      0.00      0.00注:
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)的百分比

        2.6 对I/O和传输速率信息状况统计:sar -b [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -b 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:02:18 AM       tps      rtps      wtps   bread/s   bwrtn/s
09:02:19 AM      5.00      0.00      5.00      0.00     48.00
09:02:20 AM     22.77      9.90     12.87    570.30    106.93
09:02:21 AM      1.00      0.00      1.00      0.00      8.00
Average:         9.63      3.32      6.31    191.36     54.49注:
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为:块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为:块/s

        2.7 对队列长度和平均负载统计:sar -q [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -q 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:03:32 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
09:03:33 AM         1       582      3.04      1.25      0.66         0
09:03:34 AM         0       582      3.04      1.25      0.66         0
09:03:35 AM         0       582      3.04      1.25      0.66         0
Average:            0       582      3.04      1.25      0.66         0注:
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载

         2.8 对系统交换信息进行统计:sar -W [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -W 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:04:27 AM  pswpin/s pswpout/s
09:04:28 AM      0.00      0.00
09:04:29 AM      0.00      0.00
09:04:30 AM      0.00      0.00
Average:         0.00      0.00注:
pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量

2.9 块设备状况进行统计:sar -d [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -d 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:08:54 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:08:55 AM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:08:55 AM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0009:08:55 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:08:56 AM    dev8-0     14.00      0.00    107.00      7.64      0.01      0.36      0.36      0.50
09:08:56 AM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0009:08:56 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:08:57 AM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:08:57 AM   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0      4.67      0.00     35.67      7.64      0.00      0.36      0.36      0.17
Average:      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00注:
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% 时,表示设备带宽已经占满

         2.10 输出统计的数据信息:sar -o path_file [选项] [ <时间间隔> [ <次数> ] ]

[root@k8s-master ~]# sar -o sarfile.log -u 1 3
Linux 3.10.0-1160.108.1.el7.x86_64 (k8s-master) 	05/11/2024 	_x86_64_	(2 CPU)09:09:51 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:09:52 AM     all      1.06      0.00      3.72      0.00      0.00     95.21
09:09:53 AM     all      1.57      0.00      2.09      0.00      0.00     96.34
09:09:54 AM     all      2.14      0.00      5.35      0.00      0.00     92.51
Average:        all      1.59      0.00      3.71      0.00      0.00     94.70
[root@k8s-master ~]# ls -la sarfile.log 
-rw-r--r-- 1 root root 92096 May 11 09:09 sarfile.log注:
上述示例命令会将sar -u 1 3采集到的数据以二进制的格式存放到文件sarfile.log中

这篇关于linux性能监控之sar的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983199

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星