# mx-smi 用户手册 `mx-smi`(MOFFETT System Management Interface)是基于 MOFFETT Management Library(MXML)的系统管理命令行工具,用于收集设备信息、查看设备健康状态、重启设备、加载固件以及设置风扇控制的相关参数等。 **命令格式:mx-smi [选项] [子命令]** -h,--help : 显示帮助信息。 --version : 显示 `mx-smi` 的版本。 -l,--loop : 按指定的时间间隔持续输出命令结果。取值范围:1-3600 秒,默认间隔:5 秒。使用 `Ctrl+C` 终止输出。 **示例** ```Bash mx-smi ``` ```Bash ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │MOFFETT-SMI 2.10.0 Driver Version 3.13.0 SOLA Version 3.13.0 │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ Card ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │Index Name Freq. Voltage Temp. Fan Pwr Util Bus ID Memory-Usage SN │ ├──────────────────────────────────────────────────────────────────────────────────────────┤ │Card0 S40-02-A02 700MHz 930mV 42C 31% 108W 0% 0:26:00.0 0MiB/81920MiB 2515040220002│ ├──────────────────────────────────────────────────────────────────────────────────────────┤ │Card1 S40-02-A02 700MHz 930mV 38C 27% 109W 0% 0:30:00.0 0MiB/81920MiB 2520040220005│ ├──────────────────────────────────────────────────────────────────────────────────────────┤ │Card2 S40-02-A02 700MHz 930mV 38C 28% 112W 0% 0:38:00.0 0MiB/81920MiB 2515040220004│ ├──────────────────────────────────────────────────────────────────────────────────────────┤ │Card3 S40-02-A02 700MHz 930mV 40C 30% 110W 0% 0:42:00.0 0MiB/81920MiB 2515040220003│ └──────────────────────────────────────────────────────────────────────────────────────────┘ Processes ┌──────────────────────────────────────────────────────────────────────────────────────────┐ │Index PID Process Name Memory Usage│ ├──────────────────────────────────────────────────────────────────────────────────────────┤ │ [No running processes found] │ └──────────────────────────────────────────────────────────────────────────────────────────┘ ``` ```{admonition} 须知 :class: note 显示的板卡信息为该卡下 Bus ID 值最小的设备信息。 ``` | **输出字段**(Card) | **说明** | | ------------ | ------------------------------------------------------------ | | Index | 板卡索引 | | Name | 产品名称 | | Freq. | 板卡的频率 | | Voltage | 板卡的电压 | | Temp. | 板卡的温度 | | Fan | 风扇调速比(单位:%),默认为 20%。仅支持 S40AC 计算卡,其他型号板卡显示为 N/A | | Pwr | 板卡功率,对不支持获取板卡功率的板卡则显示卡上所有设备的总功率 | | Util | 板卡的使用率(负载) | | Bus ID | PCI 总线 ID,格式为 bus:domain:device.function | | Memory-Usage | 板卡的内存使用情况,格式为 Usage/Total,即(已使用内存/内存总量) | | SN | 板卡的序列号,是板卡的唯一标识。 | | **输出字段**(Processes) | **说明** | | ------------ | ------------------------------------------------------------ | | Index | 运行该进程的板卡编号以及对应的设备 ID,输出格式为:(板卡编号:设备 ID)| | PID | 进程 ID | | Process Name | 进程名,最大展示长度为 32 个字符,超出长度后以 … 省略开头的字符 | | Memory Usage | 进程占用的内存大小 | ## 子命令 list 查看设备的基本信息。 **mx-smi list [选项]** -h,--help : 显示帮助信息。 -i,--index : 指定设备 ID,取值范围:0-31。如果未指定,则显示所有设备信息;如果指定多个值: - 空格分隔,例如:`-i 0 1 2`。 - 花括号中逗号分隔,例如:`-i {0,1,2}`。 -l,--loop : 按指定的时间间隔持续输出命令结果。取值范围:1-3600 秒,默认间隔:5 秒。使用 `Ctrl+C` 终止输出。 **示例** ```Bash mx-smi list ``` ```Bash ╭─────────────────────────────────────────────────────────────────────────────────────────╮ │MOFFETT-SMI 2.10.0 Driver Version 3.13.0 SOLA Version 3.13.0 │ ╰─────────────────────────────────────────────────────────────────────────────────────────╯ Devices ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │Index Name Freq. Voltage Temp. Fan Pwr Util Bus ID Memory-Usage SN │ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │ + S40-02-A02 30W 2515040220002│ │ 0 700MHz 930mV 35C 24% 2W 0% 0:26:00.0 0MiB/20480MiB │ │ 1 700MHz 930mV 33C 24% 2W 0% 0:27:00.0 0MiB/20480MiB │ │ 2 700MHz 930mV 34C 24% 4W 0% 0:28:00.0 0MiB/20480MiB │ │ 3 700MHz 930mV 35C 24% 4W 0% 0:29:00.0 0MiB/20480MiB │ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │ + S40-02-A02 30W 2520040220005│ │ 4 700MHz 930mV 32C 22% 3W 0% 0:30:00.0 0MiB/20480MiB │ │ 5 700MHz 930mV 33C 22% 3W 0% 0:31:00.0 0MiB/20480MiB │ │ 6 700MHz 930mV 32C 22% 4W 0% 0:32:00.0 0MiB/20480MiB │ │ 7 700MHz 930mV 33C 20% 2W 0% 0:33:00.0 0MiB/20480MiB │ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │ + S40-02-A02 33W 2515040220004│ │ 8 700MHz 930mV 32C 22% 4W 0% 0:38:00.0 0MiB/20480MiB │ │ 9 700MHz 930mV 33C 22% 3W 0% 0:39:00.0 0MiB/20480MiB │ │ 10 700MHz 930mV 33C 22% 1W 0% 0:3a:00.0 0MiB/20480MiB │ │ 11 700MHz 930mV 33C 22% 2W 0% 0:3b:00.0 0MiB/20480MiB │ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │ + S40-02-A02 32W 2515040220003│ │ 12 700MHz 930mV 33C 20% 2W 0% 0:42:00.0 0MiB/20480MiB │ │ 13 700MHz 930mV 34C 20% 4W 0% 0:43:00.0 0MiB/20480MiB │ │ 14 700MHz 930mV 34C 20% 4W 0% 0:44:00.0 0MiB/20480MiB │ │ 15 700MHz 930mV 34C 20% 2W 0% 0:45:00.0 0MiB/20480MiB │ └─────────────────────────────────────────────────────────────────────────────────────────┘ Processes ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │Index PID Process Name Memory Usage│ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │ [No running processes found] │ └─────────────────────────────────────────────────────────────────────────────────────────┘ ``` ## 子命令 query 显示设备的详细信息。 **mx-smi query [选项]** -h,--help : 显示帮助信息。 -i,--index : 指定设备 ID,取值范围:0-31。如果未指定,则显示所有设备信息;如果指定多个值: - 空格分隔,例如:`-i 0 1 2`。 - 花括号中逗号分隔,例如:`-i {0,1,2}`。 -d,--display : 仅显示选定字段的信息。如果未指定,则显示所有字段信息;如果指定多个字段: - 空格分隔,例如:`-d MEMORY POWER`。 - 花括号中逗号分隔,例如:`-d {MEMORY,POWER}`。 ::: nested-table | **可选字段** | **说明** | | ----------- | ----------------------- | | MEMORY | 设备内存信息 | | UTILIZATION | 设备使用率信息 | | TEMPERATURE | 设备的温度信息 | | POWER | 设备的功耗信息 | | FREQUENCY | 设备的频率信息 | | FAN | 风扇信息 | | VOLTAGE | 设备的电压信息 | | PIDS | 执行中任务的系统进程 ID | | ECC | ECC 信息 | ::: -l,--loop : 按指定的时间间隔持续输出命令结果。取值范围:1-3600 秒,默认间隔:5 秒。使用 `Ctrl+C` 终止输出。 **示例** ```Bash mx-smi query -i 0 ``` ```Bash Timestamp : Wed Aug 6 15:20:06 2025 Driver Version : 3.13.0 SOLA Version : 3.13.0 Attached Devices : 16 Device 0 Product Name : S40-02-A02 SPU Cores Number : 4 FW Version : 1.0.17 MCU Version : 3V02 Serial Number : 2515040220002 UUID : 04000000000000000000000002515040220002 Board Id : 0x000 PCI Bus : 0x26 Device : 0x00 Domain : 0x0000 Bus Id : 0:26: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 : 7 Device Memory Uncorrected : 0 Fan Fan Policy : balance Fan Speed : 20% (1440 RPM) Temperature : 34 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 进制) | | Fan | 风扇信息 | | Fan Policy | 风扇模式 | | Fan Speed | 风扇调速比(%)及每分钟转速(RPM) | | 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` 终止输出。 **field 选项(二选一)** ````{tabs} ```{tab} --board-field 指定显示板卡信息的字段。 (可选)`-b, --board`:指定板卡 ID,取值范围:0-7。如果未指定,默认显示所有板卡的信息。 如果指定多个 board-field 或板卡: - 空格分隔,例如:`--board-field board board.power -b 0 1`。 - 花括号中逗号分隔,例如:`--board-field {board,board.power} -b {0,1}`。 ``` ```{tab} -f,--field 指定显示 SPU 设备信息的字段。 (可选)`-i,--index`:指定设备 ID,取值范围:0-31。如果未指定,默认显示所有设备的信息。 如果指定多个 field 或设备: - 空格分隔,例如:`-f index pci.bus_id -i 0 1 2`。 - 花括号逗号分隔,例如:`-f {index,pci.bus_id} -i {0,1,2}`。 ``` ```` | **--board-field 可选字段(不区分大小写)** | **说明** | | ---------------------------------------------- | ----------------------- | | board | 板卡 ID | | board.fan.policy | 风扇模式 | | board.fan.speed | 风扇调速比(单位:%) | | board.fan.speed_rpm | 风扇每分钟转速(RPM) | | board.power | 风扇功率 | | **--field 可选字段(不区分大小写)** | **说明** | | ---------------------------------------------- | ----------------------------------------------------------- | | board | 板卡 ID | | cores | 设备核心数量 | | count | 检测到的设备数量 | | driver_version | 驱动版本 | | ecc.errors.corrected.volatile.device_memory | 已纠正的易失性设备内存错误数量 | | ecc.errors.corrected.aggregate.device_memory | 已纠正的聚合设备内存错误数量 | | ecc.errors.uncorrected.volatile.device_memory | 未纠正的易失性设备内存错误数量 | | ecc.errors.uncorrected.aggregate.device_memory | 未纠正的聚合设备内存错误数量 | | fan.policy | 风扇模式 | | fan.speed | 风扇调速比(单位:%) | | fan.speed_rpm | 风扇每分钟转速(RPM) | | firmware_version | 固件版本 | | frequency | 设备的频率(单位:MHz) | | index | 设备 ID(根据 PCI bus ID 生成) | | mcu_version | MCU 版本 | | memory.free | SPU 总空闲内存(单位:MiB) | | memory.reserved | SPU 预留内存(单位:MiB) | | memory.total | SPU 总内存(单位:MiB) | | memory.used | SPU 已使用内存(单位:MiB) | | name | 产品名称 | | 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 进制) | | power.draw | 设备的当前功率(单位:W) | | power.limit | 设备的最大功率(单位:W) | | serial | 序列号(同一张板卡拥有相同序列号,不同板卡的序列号不同) | | sola_version | SOLA 版本 | | temperature | 设备的温度(单位:℃) | | timestamp | 当前时间戳 | | utilization | 使用率(各核心上的平均使用率) | | uuid | UUID(每个设备全局唯一 ID) | | voltage | 设备的电压(单位:mV) | **示例** 以下示例查看设备的指定信息。默认第一行展示输出的属性名,后续每一行为用户指定的设备的属性信息。 ```Bash mx-smi select -f {index,pci.bus_id,board} -i 2 1 0 ``` ```Bash index, pci.bus_id, board 2, 0:3a:00.0, 0 1, 0:39:00.0, 0 0, 0:38:00.0, 0 ``` 以下示例查看板卡的指定信息: ```Bash mx-smi select --board-field {board,board.power} -b 0 1 2 ``` ```Bash board, board.power 0, 7 W 1, 3 W 2, 4 W ``` ## 子命令 config 设置风扇模式和转速,操作记录保存在 `/var/log/moffett/sola/smi.log` 文件中。仅支持 S40AC 计算卡。 **mx-smi config [选项] fan [子选项]** **通用选项** -h,--help : 显示帮助信息。 **指定设备选项(三选一)** ````{tabs} ```{tab} -i,--index 指定要修改配置的设备 ID,取值范围:0-31。如果指定多个值: - 空格分隔,例如:`-i 0 1 2`。 - 花括号中逗号分隔,例如:`-i {0,1,2}`。 ``` ```{tab} -b,--board 指定要修改配置的板卡 ID,取值范围:0-7。如果指定多个值: - 空格分隔,例如:`-b 0 1 2`。 - 花括号中逗号分隔,例如:`-b {0,1,2}`。 ``` ```{tab} --all 指定所有设备。 ``` ```` **fan 命令选项** -h,--help : 显示帮助信息。 --policy : 墨芯设备支持基于 PWM(Pulse-Width Modulation)和 PID(Proportional Integral Differential)算法自动调整风扇转速,两种调速策略根据当前设备的最大温度输出占空比,并选取更大的占空比进行调速,具体如下表所示。 ::: nested-table | **风扇调速模式** | **说明** | | ------------------ | ----------------------------------------------------------- | | balance | 设置风扇工作在均衡模式。
该模式介于性能模式和静音模式之间,兼顾性能和降噪。 | | performance | 设置风扇工作在性能模式。
该模式下风扇转速较高,优先保证设备在较低的结温下工作。此模式下设备噪音会增大,推荐在对性能要求高的场景下使用。 | | silent | 设置风扇工作在静音模式。
该模式下风扇转速较低,噪音较小。此模式下设备结温会相对升高,推荐对降噪要求高的场景下使用。 | | manual | 手动模式,与 `--speed` 选项同时使用,设置固定的风扇调速比。 | ::: --speed : 在 manual 模式下,设置风扇调速比(单位:%)。取值范围:20-100,默认值:20。 **示例** ```Bash mx-smi config -b 1 fan --policy manual --speed 80 ``` ## 子命令 reboot 重启设备并加载固件,操作记录保存在 `/var/log/moffett/sola/smi.log` 文件中。 **sudo mx-smi reboot [选项]** **通用选项** -h,--help : 显示帮助信息。 **指定设备选项(二选一)** ````{tabs} ```{tab} -i,--index 指定要重启的设备 ID,取值范围:0-31。如果指定多个值: - 空格分隔,例如:`-i 0 1 2`。 - 花括号中逗号分隔,例如:`-i {0,1,2}`。 ``` ```{tab} --all 指定重启所有设备。 ``` ```` **示例** ```Bash sudo mx-smi reboot --all ```