当前位置: 首页 > article >正文

mpstat 和 blktrace 深入介绍

目录标题

      • **mpstat 深入介绍**
        • **1. mpstat 简介**
        • **2. 功能特点**
        • **3. 常用语法**
        • **4. 输出解释**
        • **5. 使用案例**
      • **blktrace 深入介绍**
        • **1. blktrace 简介**
        • **2. 功能特点**
        • **3. 常用语法**
        • **4. 输出解释**
        • **5. 使用案例**
      • **mpstat 和 blktrace 功能对比**

mpstat 深入介绍

1. mpstat 简介

mpstatMultiprocessor Statistics 的缩写,是 Linux 系统中用于监控多核 CPU 性能的工具。它属于 sysstat 包的一部分,可以从 /proc/stat 文件中读取 CPU 使用信息,并提供每个 CPU 核心的详细统计信息。

2. 功能特点
  • 实时监控:显示各个 CPU 核心的使用情况,包括用户态、内核态、空闲时间等。
  • 支持多核:能够分别查看每个 CPU 核心的性能指标。
  • 统计信息来源:数据来自于 /proc/stat 文件。
3. 常用语法
mpstat [-P {cpu | ALL}] [interval [count]]
  • -P {cpu | ALL}:指定要监控的 CPU,cpu 为具体的 CPU 编号(如 0, 1 等),ALL 表示监控所有 CPU。
  • interval:相邻两次采样之间的时间间隔(以秒为单位)。
  • count:采样次数,必须与 interval 一起使用。
4. 输出解释

mpstat 的输出通常包含以下几列:

  • %usr:用户空间占用 CPU 的百分比。
  • %nice:改变过优先级的进程占用 CPU 的百分比。
  • %sys:内核空间占用 CPU 的百分比。
  • %iowait:等待 I/O 操作占用 CPU 的百分比。
  • %irq:处理硬件中断请求占用 CPU 的百分比。
  • %soft:处理软件中断请求占用 CPU 的百分比。
  • %steal:在虚拟化环境中,其他操作系统占用的 CPU 时间百分比。
  • %guest:运行虚拟处理器占用 CPU 的百分比。
  • %gnice:运行改变过优先级的虚拟处理器占用 CPU 的百分比。
  • %idle:CPU 空闲时间的百分比。
5. 使用案例
  1. 查看所有 CPU 的平均负载

    mpstat
    

    显示从系统启动以来所有 CPU 的平均负载。

  2. 每隔 5 秒输出一次报告,总共输出 2 次

    mpstat 5 2
    

    每 5 秒生成一个报告,总共生成 2 个报告。

  3. 查看特定 CPU(如 CPU0)的统计信息

    mpstat -P 0
    

    仅显示 CPU0 的统计信息。

  4. 仅显示用户态和空闲态的 CPU 使用率

    mpstat -u -i
    

    仅显示用户态和空闲态的 CPU 使用率。

blktrace 深入介绍

1. blktrace 简介

blktrace 是 Linux 系统中用于跟踪和监视磁盘 I/O 请求的工具。它能够提供详细的关于磁盘读写请求的信息,包括请求的发起时间、大小、类型、处理顺序等。

2. 功能特点
  • 详细的 I/O 请求信息:包括读写进程名、进程号、执行时间、读写物理块号、块大小等。
  • 内核层跟踪:属于内核 block layer,能够直接从内核中获取 I/O 请求的详细信息。
  • 实时监控:可以实时监控 I/O 请求的生命周期。
3. 常用语法
blktrace -d <dev> -o <file>
  • -d <dev>:指定要监控的设备(如 /dev/sda)。
  • -o <file>:指定输出文件的名字。
4. 输出解释

blktrace 生成的输出文件通常包括以下内容:

  • trace0trace1:分别记录 CPU0 和 CPU1 的 I/O 请求信息。
  • msg:记录 I/O 请求的详细信息,包括请求的发起时间、大小、类型等。
  • drop:记录被丢弃的 I/O 请求信息。
5. 使用案例
  1. 实时查看 I/O 请求

    blktrace -d /dev/sda -o /tmp/blktrace.out
    

    将 I/O 请求信息输出到 /tmp/blktrace.out 文件中。

  2. 生成采集文件并合并

    blktrace -d /dev/sda -o /tmp/blktrace.out
    blkparse -i /tmp/blktrace.out -o /tmp/blktrace.txt
    

    使用 blkparse 工具将采集的二进制文件转换为可读的文本文件。

  3. 指定监控的动作

    blktrace -d /dev/sda -a 0x1 -o /tmp/blktrace.out
    

    仅监控读操作(0x1 表示读操作)。

mpstat 和 blktrace 功能对比

功能点mpstatblktrace
监控对象CPU 性能磁盘 I/O 性能
数据来源/proc/stat 文件内核 block layer
输出内容CPU 使用率(%usr、%sys、%iowait 等)I/O 请求的详细信息(读写进程名、进程号、执行时间等)
适用场景CPU 性能瓶颈分析磁盘 I/O 性能瓶颈分析
实时性实时监控实时监控
安装依赖sysstatblktrace 工具集

通过 mpstatblktrace,可以分别对 CPU 和磁盘 I/O 性能进行深入分析,帮助定位和解决系统性能瓶颈。


http://www.kler.cn/a/571137.html

相关文章:

  • 一阶逻辑篇--一门数学编程语言
  • 前端面试场景题葵花宝典之四
  • 【TCP/IP协议栈】3. 网络层协议(IP、ARP、RARP、ICMP)
  • 使用docker来安装nacos
  • 金融项目实战
  • LINUX网络基础 - 初识网络,理解网络协议
  • 电子电气架构 --- Zonal-EEA的技术特点
  • 数据结构与算法:选择排序
  • 51单片机使用DS18B20温度传感器
  • 【C++】2.2.1 变量定义
  • 如何用 DeepSeek 和 ChatGPT 打造智能搜索与问答体验
  • 前端抓包工具的使用
  • IP------交换
  • 计算机网络——IP地址
  • RTB业务分析
  • 20250304笔记-阅读论文
  • 算法刷题--最短路径算法
  • pnpm和npm的区别
  • 代码随想录|哈希表|08三数之和
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例1:基础表格