mx-smi 用户手册

概述

mx-smi(MOFFETT System Management Interface)是基于 MOFFETT Management Library(MFML)的系统管理命令行工具,用于收集设备(Device)信息、查看设备健康状态、重启设备及加载固件等。

基本使用

用法概览

mx-smi [选项] [子命令]

常规选项

  • -h,--help:显示帮助信息。

  • --version:显示工具的版本信息。

  • -l,--loop:按指定的时间间隔持续输出命令结果。

    • 取值范围:1-3600 秒。

    • 默认间隔:5 秒。

    • 使用 Ctrl+C 终止输出。

示例

以下示例显示所有板卡的摘要信息:

mx-smi
Mon May 12 14:16:28 2025
╭─────────────────────────────────────────────────────────────────────────────────────╮
│MOFFETT-SMI 2.8.0         Driver Version 3.11.0          SOLA Version 3.11.0         │
╰─────────────────────────────────────────────────────────────────────────────────────╯
 Card
┌─────────────────────────────────────────────────────────────────────────────────────┐
│Index     Name    Freq.  Voltage Temp. Pwr Util  Bus ID   Memory-Usage       SN      │
├─────────────────────────────────────────────────────────────────────────────────────┤
│Card0  S40-02-A02 700MHz  930mV   29C  59W  0%  0:38:00.0 0MiB/81920MiB 2515040220003│
├─────────────────────────────────────────────────────────────────────────────────────┤
│Card1  S40-02-A02 700MHz  930mV   31C  55W  0%  0:3c:00.0 0MiB/81920MiB 2515040220004│
└─────────────────────────────────────────────────────────────────────────────────────┘
 Processes
┌─────────────────────────────────────────────────────────────────────────────────────┐
│Index    PID   Process Name                                              Memory Usage│
├─────────────────────────────────────────────────────────────────────────────────────┤
│   [No running processes found]                                                      │
└─────────────────────────────────────────────────────────────────────────────────────┘

输出字段说明

  • Card(卡信息)

字段 说明
Index 板卡索引
Name 产品名称
Freq. 卡的频率
Voltage 卡的电压
Temp. 卡的温度
Pwr 板卡功率,对不支持获取板卡功率的板卡则显示卡上所有设备的总功率
Util 卡的使用率(负载)
Bus ID PCI 总线 ID,格式为 bus:domain:device.function
Memory-Usage 卡的内存使用情况,格式为 Usage/Total,即(已使用内存/内存总量)
SN 卡的序列号,是卡的唯一标识。

说明

显示的板卡信息为该卡下 Bus ID 最低的设备信息。

  • Processes(进程信息)

字段 说明
index 运行该进程的卡编号以及对应的设备 ID,输出格式为:(卡编号:设备 ID)
PID 进程 ID
Process Name 进程名,最大展示长度为 32 个字符,超出长度后以 … 省略开头的字符
Memory Usage 进程占用的内存大小

子命令详解

子命令 list

功能

查看设备的基本信息。

用法

mx-smi list [选项]

选项

  • -h,--help:显示帮助信息。

  • i, --index:指定设备索引。

    • 取值范围:0-31。

    • 使用方式:

      • 空格分隔多个值,例如:-i 0 1 2

      • 使用花括号列表,例如:-i {0,1,2}

  • -l,--loop:按指定的时间间隔持续输出命令结果。

    • 取值范围:1-3600 秒。

    • 默认间隔:5 秒。

    • 使用 Ctrl+C 终止输出。

示例

以下示例显示所有设备的基本信息:

mx-smi list
Mon May 12 11:58:50 2025
╭─────────────────────────────────────────────────────────────────────────────────────╮
│MOFFETT-SMI 2.8.0         Driver Version 3.11.0          SOLA Version 3.11.0         │
╰─────────────────────────────────────────────────────────────────────────────────────╯
 Devices
┌─────────────────────────────────────────────────────────────────────────────────────┐
│Index     Name    Freq.  Voltage Temp. Pwr Util  Bus ID   Memory-Usage       SN      │
├─────────────────────────────────────────────────────────────────────────────────────┤
│  +    S40-02-A02                      60W                              2515040220003│
│  0               700MHz  930mV   28C  2W   0%  0:38:00.0 0MiB/20480MiB              │
│  1               700MHz  930mV   29C  4W   0%  0:39:00.0 0MiB/20480MiB              │
│  2               700MHz  930mV   30C  3W   0%  0:3a:00.0 0MiB/20480MiB              │
│  3               700MHz  930mV   28C  2W   0%  0:3b:00.0 0MiB/20480MiB              │
├─────────────────────────────────────────────────────────────────────────────────────┤
│  +    S40-02-A02                      55W                              2515040220004│
│  4               700MHz  930mV   30C  2W   0%  0:3c:00.0 0MiB/20480MiB              │
│  5               700MHz  930mV   30C  1W   0%  0:3d:00.0 0MiB/20480MiB              │
│  6               700MHz  930mV   30C  3W   0%  0:3e:00.0 0MiB/20480MiB              │
│  7               700MHz  930mV   29C  4W   0%  0:3f:00.0 0MiB/20480MiB              │
└─────────────────────────────────────────────────────────────────────────────────────┘
 Processes
┌─────────────────────────────────────────────────────────────────────────────────────┐
│Index    PID   Process Name                                              Memory Usage│
├─────────────────────────────────────────────────────────────────────────────────────┤
│   [No running processes found]                                                      │
└─────────────────────────────────────────────────────────────────────────────────────┘

输出字段说明

请参见 mx-smi 命令的输出字段说明

子命令 query

功能

显示设备的详细信息。

用法

mx-smi query [选项]

选项

  • -h,--help:显示帮助信息。

  • i, --index:指定设备索引。

    • 取值范围:0-31。

    • 使用方式:

      • 空格分隔多个值,例如:-i 0 1 2

      • 使用花括号列表,例如:-i {0,1,2}

  • -d,--display:仅显示选定类型的信息。

    • 可选值(不区分大小写):ECC、FREQUENCY、MEMORY、PIDS、POWER、TEMPERATURE、UTILIZATION、VOLTAGE,详细说明如下表所示。

    • 使用方式:

      • 空格分隔多个值,例如:-d MEMORY POWER

      • 使用花括号列表,例如:-d {MEMORY,POWER}

可选值 说明
MEMORY 设备内存信息
UTILIZATION 设备使用率信息
TEMPERATURE 设备的温度信息
POWER 设备的功耗信息
FREQUENCY 设备的频率信息
VOLTAGE 设备的电压信息
PIDS 执行中任务的系统进程 ID
ECC ECC 信息
  • -l,--loop:按指定的时间间隔持续输出命令结果。

    • 取值范围:1-3600 秒

    • 默认间隔:5 秒。

    • 使用 Ctrl+C 终止输出。

示例

以下示例显示指定设备的详细信息:

mx-smi query -i 0
Timestamp                             : Mon May 12 17:24:11 2025
Driver Version                        : 3.11.0
SOLA Version                          : 3.11.0

Attached Devices                      : 8

Device 0
    Product Name                      : S40-02-A02
    SPU Cores Number                  : 4
    FW Version                        : 1.0.17
    MCU Version                       : 3V02
    Serial Number                     : 2515040220003
    UUID                              : 01000000000000000000000002515040220003
    Board Id                          : 0x000
    PCI
        Bus                           : 0x38
        Device                        : 0x00
        Domain                        : 0x0000
        Bus Id                        : 0:38:00.0
        Device Id                     : 0x70401f36
        Sub System Id                 : 0x70011f36
    Memory Usage
        Total                         : 20480 MiB
        Reserved                      : 4484 MiB
        Used                          : 0 MiB
        Free                          : 15996 MiB
    Utilization
        Core 0                        : 0 %
        Core 1                        : 0 %
        Core 2                        : 0 %
        Core 3                        : 0 %
        Max                           : 0 %
        Min                           : 0 %
        Avg                           : 0 %
    ECC Errors
        Volatile
            Device Memory Corrected   : 0
            Device Memory Uncorrected : 0
        Aggregate
            Device Memory Corrected   : 0
            Device Memory Uncorrected : 0
    Temperature                       : 29 C
    Power
        Power Draw                    : 2 W
        Power Limit                   : 83 W
    Frequency                         : 700 MHz
    Voltage                           : 930 mV
    Processes

输出字段说明

字段 说明
Timestamp 当前时间戳
Driver Version 驱动版本
Sola Version SOLA Toolkit 版本
Attached Devices 设备数量
Device 设备标识
Product Name 设备名称(产品名称)
SPU Cores Number 设备核心数量
FW Version 固件版本
MCU Version MCU 版本
Serial Number 序列号(同一张卡拥有相同序列号)
UUID UUID(每个设备全局唯一 ID)
Board Id 板卡 ID
PCI PCI 信息
Bus PCI bus(16 进制)
Device PCI device(16 进制)
Domain PCI domain(16 进制)
Bus Id PCI bus id,格式为 domain:bus:device.function(16 进制)
Device Id PCI vendor device id(16 进制)
Sub System Id PCI 子系统 id(16 进制)
Memory Usage 内容使用情况
Total SPU 总内存(单位:MiB)
Reserved SPU 预留内存(单位:MiB)
Used SPU 已使用内存(单位:MiB)
Free SPU 总空闲内存(单位:MiB)
Utilization 使用率(各核心上的平均使用率)
ECC Errors ECC 错误信息
Volatile 易失性设备内存错误信息
Device Memory Corrected 已纠正的易失性设备内存错误数量
Device Memory Uncorrected 未纠正的易失性设备内存错误数量
Aggregate 聚合设备内存错误信息
Device Memory Corrected 已纠正的聚合设备内存错误数量
Device Memory Uncorrected 未纠正的聚合设备内存错误数量
Temperature 设备的温度(单位:℃)
Power 设备功率信息
Power Draw 设备的当前功率
Power Limit 设备的最大功率(单位:W)
Frequency 设备的频率(单位:MHz)
Voltage 设备的电压(单位:mV

子命令 select

功能

打印指定的设备属性信息。

用法

mx-smi select [选项]

通用选项

  • -h,--help:显示帮助信息。

  • -noheader:不显示属性名表头。

  • -l,--loop:按指定的时间间隔持续输出命令结果。

    • 取值范围:1-3600 秒

    • 默认间隔:5 秒。

    • 使用 Ctrl+C 终止输出。

字段选项

以下选项必须指定一个使用:

  • -f,--field:指定显示 SPU 设备信息的字段。

    • 可选值(不区分大小写)如下表所示。

    • 使用方式:

      • 空格分隔多个值,例如:-f index pci.bus_id

      • 使用花括号列表,例如:-f {index,pci.bus_id}

    可选值

    说明

    timestamp

    输出当前时间戳。

    driver_version

    驱动的版本

    sola_version

    SOLA 版本

    count

    检测到的设备(Devices)数量

    index

    设备 ID(根据 Bus ID 生成)

    name

    设备名称(产品名称)

    cores

    设备核心数量

    firmware_version

    固件版本

    mcu_version

    MCU 版本

    serial

    序列号(同一张卡拥有相同序列号,不同卡的序列号不同)

    uuid

    UUID(每个设备全局唯一 ID)

    board

    板卡 ID

    pci.bus

    PCI bus(16 进制)

    pci.device

    PCI device(16 进制)

    pci.domain

    PCI domain(16 进制)

    pci.bus_id

    PCI bus id,格式为 domain:bus:device.function(16 进制)

    pci.device_id

    PCI vendor device id(16 进制)

    pci.sub_device_id

    PCI Sub System id(16 进制)

    memory.total

    SPU 总内存(单位:MiB)

    memory.reserved

    SPU 预留内存(单位:MiB)

    memory.used

    SPU 已使用内存(单位:MiB)

    memory.free

    SPU 总空闲内存(单位:MiB)

    utilization

    使用率(各核心上的平均使用率)

    ecc.errors.corrected.volatile.device_memory

    已纠正的易失性设备内存错误数量

    ecc.errors.corrected.aggregate.device_memory

    已纠正的聚合设备内存错误数量

    ecc.errors.uncorrected.volatile.device_memory

    未纠正的易失性设备内存错误数量

    ecc.errors.uncorrected.aggregate.device_memory

    未纠正的聚合设备内存错误数量

    temperature

    设备的温度(单位:℃)

    power.draw

    设备的当前功率

    power.limit

    设备的最大功率(单位:W)

    frequency

    设备的频率(单位:MHz)

    voltage

    设备的电压(单位:mV)

  • --board-field:指定显示板卡信息的字段。

    • 可选值:

      • board:板卡 ID。

      • board.power:板卡功率或卡上所有设备的功率总和。

    • 使用方式:

      • 空格分隔多个值,例如:--board-field board board.power

      • 使用花括号列表,例如:--board-field {board,board.power}

目标设备选项

以下选项配合字段选项使用:

  • -i,--index:指定设备索引(与 --field 一起使用)。

    • 取值范围:0-31。

    • 使用方式:

      • 空格分隔多个值,例如:-i 0 1 2

      • 使用花括号列表,例如:-i {1,2,3}

  • -b, --board:指定板卡 ID(与 --board-field 一起使用)。

    • 取值范围:0-7。

    • 使用方式:

      • 空格分隔多个值,例如:-b 0 1

      • 使用花括号列表,例如:-b {0,1,2}

示例

以下示例查看设备的指定信息。默认第一行展示输出的属性名,后续每一行为用户指定的设备的属性信息。

mx-smi select -f {index,pci.bus_id,board} -i 2 1 0
index, pci.bus_id, board
2, 0:3a:00.0, 0
1, 0:39:00.0, 0
0, 0:38:00.0, 0

以下示例查看板卡的指定信息:

mx-smi select --board-field board board.power -b 0 1 2
board, board.power
0, 7 W
1, 3 W
2, 4 W

子命令 reboot

功能

重启设备并加载固件,操作记录保存在 /var/log/moffett/sola/smi.log 文件中。

用法

sudo mx-smi reboot [选项]

选项

  • -h,--help:显示帮助信息。

  • 目标设备选项(必须指定一个):

    • -i,–index:指定要重启的设备索引。

      • 取值范围:0-31。

      • 使用方式:

        • 空格分隔多个值,例如:-i 0 1 2

        • 使用花括号列表,例如:-i {1,2,3}

    • --all:重启所有设备。

示例

以下示例重启所有设备:

sudo mx-smi reboot --all