linux性能监控sar

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、sar是什么?
  • 二、安装sar
  • 三、主要命令使用
    • 整体CPU使用统计(-u)
    • 各个CPU使用统计(-P)
    • 内存使用情况统计(-r)
    • 整体I/O情况(-b)
    • 各个I/O设备情况(-d)
    • 网络统计(-n)
    • sar日志保存(-o)


前言

监视linux性能手段很多,sar是其中之一。

一、sar是什么?

sar可用于监控Linux系统性能,帮助我们分析性能瓶颈。sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数。

下文将说明如何使用sar获取以下性能分析数据:

整体CPU使用统计
各个CPU使用统计
内存使用情况统计
整体I/O情况
各个I/O设备情况
网络统计

 sar -h
用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
主选项和报告:-b      I/O 和传输速率信息状况-B      分页状况-d      块设备状况-F [ MOUNT ]Filesystems statistics-H      交换空间利用率-I { <中断> | SUM | ALL | XALL }中断信息状况-m { <关键词> [,...] | ALL }电源管理统计信息关键字:CPU     CPU 频率FAN     风扇速度
\t\tFREQ\tCPU 平均时钟频率IN      输入电压TEMP    设备温度
\t\tUSB\t连接的USB 设备-n { <关键词> [,...] | ALL }网络统计信息关键词可以是:DEV     网卡EDEV    网卡 (错误)NFS     NFS 客户端NFSD    NFS 服务器SOCK    Sockets (套接字)        (v4)IP      IP 流   (v4)EIP     IP 流   (v4) (错误)ICMP    ICMP 流 (v4)EICMP   ICMP 流 (v4) (错误)TCP     TCP 流  (v4)ETCP    TCP 流  (v4) (错误)UDP     UDP 流  (v4)SOCK6   Sockets (套接字)        (v6)IP6     IP 流   (v6)EIP6    IP 流   (v6) (错误)ICMP6   ICMP 流 (v6)EICMP6  ICMP 流 (v6) (错误)UDP6    UDP 流  (v6)-q      队列长度和平均负载-r      内存利用率-R      内存状况-S      交换空间利用率-u [ ALL ]CPU 利用率-v      Kernel table 状况-w      任务创建与系统转换统计信息-W      交换信息-y      TTY 设备状况

二、安装sar

yum install sar

三、主要命令使用

整体CPU使用统计(-u)

使用-u选项,sar输出整体CPU的使用情况,不加选项时,默认使用的就是-u选项。以下命令显示采样时间为1s,采样次数为2次,整体CPU的使用情况:

[root@localhost ~]# sar -u 1 2
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain)    2023年09月28日  _x86_64_        (16 CPU)09时05分33秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
09时05分34秒     all      0.13      0.00      1.32      0.00      0.00     98.55
09时05分35秒     all      0.13      0.00      1.20      0.00      0.00     98.68
平均时间:     all      0.13      0.00      1.26      0.00      0.00     98.61
[root@localhost ~]#

以上主要的统计项的解析如下:

%user: 用户态下CPU使用时间比率

%system: 内核态下CPU使用时间比率

%iowait: CPU等待I/O占用时间比率

%idle: CPU空闲时间比率

各个CPU使用统计(-P)

“-P ALL”选项指示对每个内核输出统计信息:

[root@localhost ~]# sar -P ALL 1 1
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain)    2023年09月28日  _x86_64_        (16 CPU)09时07分39秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
09时07分40秒     all      0.25      0.00      2.35      0.00      0.00     97.40
09时07分40秒       0      0.00      0.00      1.00      0.00      0.00     99.00
09时07分40秒       1      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒       2      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒       3      0.00      0.00      2.06      0.00      0.00     97.94
09时07分40秒       4      1.00      0.00      4.00      0.00      0.00     95.00
09时07分40秒       5      0.00      0.00      3.19      0.00      0.00     96.81
09时07分40秒       6      1.01      0.00      5.05      0.00      0.00     93.94
09时07分40秒       7      0.00      0.00      6.67      0.00      0.00     93.33
09时07分40秒       8      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒       9      1.02      0.00     15.31      0.00      0.00     83.67
09时07分40秒      10      0.00      0.00      1.00      0.00      0.00     99.00
09时07分40秒      11      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒      12      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒      13      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒      14      0.00      0.00      0.00      0.00      0.00    100.00
09时07分40秒      15      0.00      0.00      0.00      0.00      0.00    100.00平均时间:     CPU     %user     %nice   %system   %iowait    %steal     %idle
平均时间:     all      0.25      0.00      2.35      0.00      0.00     97.40
平均时间:       0      0.00      0.00      1.00      0.00      0.00     99.00
平均时间:       1      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:       2      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:       3      0.00      0.00      2.06      0.00      0.00     97.94
平均时间:       4      1.00      0.00      4.00      0.00      0.00     95.00
平均时间:       5      0.00      0.00      3.19      0.00      0.00     96.81
平均时间:       6      1.01      0.00      5.05      0.00      0.00     93.94
平均时间:       7      0.00      0.00      6.67      0.00      0.00     93.33
平均时间:       8      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:       9      1.02      0.00     15.31      0.00      0.00     83.67
平均时间:      10      0.00      0.00      1.00      0.00      0.00     99.00
平均时间:      11      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:      12      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:      13      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:      14      0.00      0.00      0.00      0.00      0.00    100.00
平均时间:      15      0.00      0.00      0.00      0.00      0.00    100.00

其中”CPU”列输出0,1,2,3指示对应的cpu核。也可针对单独一个内核显示,“-P 1”指示显示第二个内核的统计信息。

内存使用情况统计(-r)

使用-r选项可显示内存统计信息,以下命令显示以1秒为采样时间,显示2次内存信息:

[root@localhost ~]# sar -r  1 2
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain)    2023年09月28日  _x86_64_        (16 CPU)09时09分35秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
09时09分36秒    175148  16072592     98.92         0    935160    332972      1.76    100184    858640     19264
09时09分37秒    173552  16074188     98.93         0    938888    332972      1.76    100184    861844     19264
平均时间:    174350  16073390     98.93         0    937024    332972      1.76    100184    860242     19264

上面输出的内存单位为”kb”,各项的名称可自解析其含义。

整体I/O情况(-b)

使用-b选项,可以显示磁盘I/O的使用情况:

[root@localhost ~]# sar -b 1 2
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain)    2023年09月28日  _x86_64_        (16 CPU)09时10分47秒       tps      rtps      wtps   bread/s   bwrtn/s
09时10分48秒    206.00    206.00      0.00 206136.00      0.00
09时10分49秒    223.00    223.00      0.00 228352.00      0.00
平均时间:    214.50    214.50      0.00 217244.00      0.00

以上各列的含义为:

tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。

rtps: 每秒向磁盘设备的读请求次数

wtps: 每秒向磁盘设备的写请求次数

bread: 每秒从磁盘读的bytes数量

bwrtn: 每秒向磁盘写的bytes数量

各个I/O设备情况(-d)

使用-d选项可以显示各个磁盘的统计信息,再增加-p选项可以以sdX的形式显示设备名称:

[root@localhost ~]# sar -d -p 1 1
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain)    2023年09月28日  _x86_64_        (16 CPU)09时11分35秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09时11分36秒       sda     28.00  17928.00      0.00    640.29      0.18      7.61      0.79      2.20
09时11分36秒 centos-root     16.00  16384.00      0.00   1024.00      0.17     13.19      1.38      2.20
09时11分36秒 centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09时11分36秒 centos-home      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
平均时间:       sda     28.00  17928.00      0.00    640.29      0.18      7.61      0.79      2.20
平均时间: centos-root     16.00  16384.00      0.00   1024.00      0.17     13.19      1.38      2.20
平均时间: centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间: centos-home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

以上输出中DEV列以sdX的方式显示了设备名称。

网络统计(-n)

使用-n选项可以对网络使用情况进行显示,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:

[root@localhost ~]# sar -n DEV 1 1
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain)    2023年09月28日  _x86_64_        (16 CPU)09时13分33秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09时13分34秒 enp0s10f0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09时13分34秒      eth0 139304.00   6997.00 200148.54 245070.84      0.00      0.00      0.00
09时13分34秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00平均时间:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均时间: enp0s10f0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:      eth0 139304.00   6997.00 200148.54 245070.84      0.00      0.00      0.00
平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

以上主要输出含义如下:

IFACE: 网络接口名称

rxpck/s: 每秒收包的数量

txpck/s: 每秒发包的数量

rxkB/s: 每秒收的数据量(kB为单位)

txkB/s: 每秒发的数据量(kB为单位)

sar日志保存(-o)

最后讲一下如何保存sar日志,使用-o选项,我们可以把sar统计信息保存到一个指定的文件,对于保存的日志,我们可以使用-f选项读取:

linux:~ # sar -n DEV 1 10 -o sar.out
linux:~ # sar -d 1 10 -f sar.out

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一朵华为云,如何做好百模千态?

点击关注 文丨刘雨琦、郝鑫 2005年华为提出网络时代的“All IP”&#xff0c;2011年提出数字化时代的“All Cloud”&#xff0c;2023年提出智能时代的“All Intelligence”。 截至目前&#xff0c;华为的战略升级经历了三个阶段。 步入智能化&#xff0c;需要迎接的困难依然…

mysql面试题6:MySQL索引的底层原理,是如何实现的?B+树和B树的区别?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL索引的底层原理,是如何实现的? MySQL索引的底层实现是通过B+树来实现的。B+树是一种多叉平衡查找树,它的特点是能够高效地支持数据的插入…

怎么修改jupyter lab 的工作路径而不是直接再桌面路径打开

要修改Jupyter Lab的工作路径&#xff0c;你可以按照以下步骤操作&#xff1a; 打开终端或命令提示符窗口。 输入 jupyter lab --generate-config 命令来生成Jupyter Lab的配置文件。 找到生成的配置文件&#xff0c;通常会位于 ~/.jupyter/jupyter_notebook_config.py。 使…

CentOS密码重置

背景&#xff1a; 我有一个CentOS虚拟机&#xff0c;但是密码忘记了&#xff0c;偶尔记起可以重置密码&#xff0c;于是今天尝试记录一下&#xff0c;又因为我最近记性比较差&#xff0c;所以必须要记录一下。 过程&#xff1a; 1、在引导菜单界面&#xff08;grub&#xff…

Ubuntu Qt 5.15.2 支持 aarch64

概述 AArch64是ARMv8 架构的一种执行状态。 为了更广泛地向企业领域推进&#xff0c;需要引入64 位构架。 同时也需要在ARMv8 架构中引入新的AArch64 执行状态。 AArch64 不是一个单纯的32 位ARM 构架扩展&#xff0c;而是ARMv8 内全新的构架&#xff0c;完全使用全新的A64 指令…

Quartus医院病房呼叫系统病床呼叫Verilog,源代码下载

名称&#xff1a;医院病房呼叫系统病床呼叫 软件&#xff1a;Quartus 语言&#xff1a;Verilog 要求&#xff1a; 1、用1~6个开关模拟6个病房的呼叫输入信号,1号优先级最高;1~6优先级依次降低; 2、 用一个数码管显示呼叫信号的号码;没信号呼叫时显示0;有多个信号呼叫时,显…

【Office】超简单,Excel快速完成不规则合并单元格排序

演示效果&#xff1a;将下图已经合并了的单元格按照单位名称排序并将同一个单位的数据合并在了一起。 Step 1&#xff1a;取消合并 选中所有的数据后&#xff0c;点击 “开始”-“合并单元格” &#xff0c;并且取消数据源的合并。 Step 2&#xff1a;填充数据 选中需要填…

【动态规划】动态规划经典例题 力扣牛客

文章目录 跳台阶 BM63 简单跳台阶扩展 JZ71 简单打家结舍 LC198 中等打家劫舍2 LC213中等最长连续递增序列 LC674 简单乘积最大子数组LC152 中等最长递增子序列LC300 中等最长重复子数组LC718最长公共子串NC BM66最长公共子序列LC1143 中等完全平方数LC279零钱兑换 LC322 中等单…

C++ AB组辅导课

C AB组辅导课 蓝桥杯C AB组辅导课 第一讲 递归与递推 Acwing1、整数划分(递归)2、acwing92. 递归实现指数型枚举10凑算式(全排列)11李白打酒(全排列)12、棋牌总数(递归)13、剪邮票(递归)14、1050. 鸣人的影分身 (递归或动态规划(记忆化搜索))15、方格分割 &#xff08;dfs思维&…

微信小程序登录以及获取微信用户信息

<!-- 结算 开始 --> <view class="order_pay_wrap" bindtap="handleOrderPay">去付款</view>//导入request请求工具类 import {getBaseUrl,getWxLogin,getUserProfile,requestUtil} from ../../utils/requestUtil; import regeneratorRu…

分类预测 | Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测

分类预测 | Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测 目录 分类预测 | Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 Matlab实现BES-ELM秃鹰搜索算法优化极限学习机分类预测&#xff08;完整源码和数…

一篇文章教你自动化测试如何解析excel文件?

前言 自动化测试中我们存放数据无非是使用文件或者数据库&#xff0c;那么文件可以是csv&#xff0c;xlsx&#xff0c;xml&#xff0c;甚至是txt文件&#xff0c;通常excel文件往往是我们的首选&#xff0c;无论是编写测试用例还是存放测试数据&#xff0c;excel都是很方便的。…

【Arduino ESP32教程入门】Note

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析3 目录 &#x1f449;&#x1f3fb;arduino开发板引脚USB串行总线串行总线和并行总线的优…

HDFS编程实践-从HDFS中下载指定文件到本地

前言&#xff1a;Hadoop采用java语言开发&#xff0c;提供了Java Api与HDFS进行交互 先要把hadoop的jar包导入到idea中去 为了能编写一个与hdfs交互的java应用程序&#xff0c;一般需要向java工程中添加以下jar包 1&#xff09;/usr/local/hadoop/share/hadoop/common目录下…

C++(string类)

本节目标&#xff1a; 1、为什么要学习string类 2.标准库中的string类 3.vs和g下string结构说明 1.为什么学习string类 1.1 c语言中的字符串 C 语言中&#xff0c;字符串是以 \0 结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c; C 标准库中提供了一些 str系列的…

Python 内置函数详解 (3) 进制转换

近期在外旅游,本篇是出发前定时发布的,不完整,旅游回来后再补充。 Python 内置函数 Python3.11共有75个内置函数,其来历和分类请参考:Python 新版本有75个内置函数,你不会不知道吧_Hann Yang的博客-CSDN博客 函数列表 abs aiter all …

Android LiveData 介绍

Android LiveData 介绍 系列文章目录前言一、LiveData是什么&#xff1f;二、简单使用依赖测试数据准备1.创建可观察的livedata2.观察它3.更新它 总结 系列文章目录 Android LiveData 介绍&#xff08;本文&#xff09; 前言 本系列根据官网介绍Jetpack中的数据通信组件&…

Appium开发

特点 开源免费支持多个平台 IOS(苹果)、安卓App的自动化都支持 支持多种类型的自动化 支持苹果、安卓应用原生界面的自动化支持应用内嵌网络视图的自动化支持手机浏览器(Chrome)中的web网站自动化支持flutter应用的自动化 支持多种编程语言 像selenium一样&#xff0c;可以用多…

10月1日,每日信息差

今天是2023年10月1日&#xff0c;以下是为您准备的12条信息差 第一、中国铁路辟谣“高铁因超员触发报警无法发车” 第二、中美高校合作&#xff0c;在分数量子反常霍尔效应研究方面取得突破性进展。该研究开启了零磁场条件下研究分数电荷激发、任意子统计等新奇物性的大门&am…

27、Flink 的SQL之SELECT (Pattern Recognition 模式检测)介绍及详细示例(7)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…