sar指令详解

一、概述

sar是系统性能测试工具,它可以用来监控系统负载、CPU使用率、内存使用情况、磁盘I/O等指标,同时也支持实时监控、历史数据查询和图表展示等功能。sar指令是其命令行工具,常用于调试系统性能问题。

二、指令参数

sar指令支持多个参数,常用的参数有:

  • -u:查看CPU使用情况
  • -r:查看内存使用情况
  • -b:查看磁盘I/O情况
  • -n:查看网络情况
  • -p:查看进程情况
  • -q:查看负载情况
    $ sar -u

sar命令默认输出所有统计周期的平均值,可以使用”-s”参数指定开始时间,”-e”参数指定结束时间。

    $ sar -u -s 09:00:00 -e 10:00:00

三、CPU使用情况

使用”-u”参数查看CPU使用情况,sar命令默认展示的内容有:

  • %user:用户态进程使用CPU时间占比
  • %nice:NICE值为负的进程使用CPU时间占比
  • %system:内核态进程使用CPU时间占比
  • %iowait:CPU等待I/O操作的时间占比
  • %steal:Hypervisor偷走虚拟机CPU时间的占比
  • %idle:空闲时间占比

四、内存使用情况

使用”-r”参数查看内存使用情况,sar命令默认展示的内容有:

  • kbmemfree:空闲内存
  • kbmemused:当前已用内存
  • %memused:内存使用率

五、磁盘I/O情况

使用”-b”参数查看磁盘I/O情况,sar命令默认展示的内容有:

  • tps:每秒钟磁盘I/O次数
  • rtps:每秒钟磁盘读取次数
  • wtps:每秒钟磁盘写入次数
  • bread/s:每秒钟读取的块数
  • bwrtn/s:每秒钟写入的块数
  • bwrtn:写入的总块数
  • bread:读取的总块数

六、网络情况

使用”-n”参数查看网络情况,sar命令默认展示的内容有:

  • IFACE:网络接口名称
  • rxpck/s:每秒钟接收的数据包数
  • txpck/s:每秒钟发送的数据包数
  • rxbytes/s:每秒钟接收的字节数
  • txbytes/s:每秒钟发送的字节数
  • rxerrs/s:每秒钟接收错误数
  • txerr/s:每秒钟发送错误数
  • coll/s:每秒钟冲突检测数

七、进程情况

使用”-p”参数查看进程情况,sar命令默认展示的内容有:

  • PID:进程ID
  • %usr:用户态CPU时间占比
  • %system:内核态CPU时间占比
  • %guest:GuestOS使用CPU时间占比
  • %CPU:CPU使用率
  • %MEM:内存使用率
  • COMMAND:进程命令行

八、负载情况

使用”-q”参数查看负载情况,sar命令默认展示的内容有:

  • runq-sz:运行队列长度
  • plist-sz:进程列表长度
  • ldavg-1:过去1分钟负载平均值
  • ldavg-5:过去5分钟负载平均值
  • ldavg-15:过去15分钟负载平均值

九、输出数据格式

使用”-o”参数可以指定输出的数据格式,支持多种格式,如:

    $ sar -u -P ALL -I SUM -o sar_cpu.txt
    $ sar -r -B -n DEV -o sar_mem_io_net.txt

以上是对sar指令的详细介绍,该指令可以帮助我们深入了解系统的运行情况,解决性能问题,提升系统的安全和稳定性。

原创文章,作者:RFXEY,如若转载,请注明出处:https://www.506064.com/n/368145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
RFXEYRFXEY
上一篇 2025-04-12 01:12
下一篇 2025-04-12 01:13

相关推荐

  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论