# mx-smi 用户手册 `mx-smi`(MOFFETT System Management Interface)是基于 MOFFETT Management Library(MFML)的系统管理命令行工具,用于收集设备信息、查看设备健康状态、重启设备、加载固件以及设置风扇控制的相关参数等。 **命令格式:mx-smi [选项] [子命令]** `-h,--help` : 显示帮助信息。 `--version` : 显示 `mx-smi` 的版本。 `-l,--loop` : 按指定的时间间隔持续输出命令结果。取值范围:1-3600 秒,默认间隔:5 秒。使用 `Ctrl+C` 终止输出。 ```Bash mx-smi ``` ```Bash ╭─────────────────────────────────────────────────────────────────────────────────────────╮ │MOFFETT-SMI 2.9.0 Driver Version 3.12.0 SOLA Version 3.12.0 │ ╰─────────────────────────────────────────────────────────────────────────────────────────╯ Card ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │Index Name Freq. Voltage Temp. Fan Pwr Util Bus ID Memory-Usage SN │ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │Card0 S40-02-A02 700MHz 930mV 28C 20% 31W 0% 0:34:00.0 0MiB/81920MiB 2515040220003│ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │Card1 S40-02-A02 700MHz 930mV 28C 20% 33W 0% 0:3c:00.0 0MiB/81920MiB 2515040220004│ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │Card2 S40-02-A02 700MHz 930mV 29C 20% 30W 0% 0:9f:00.0 0MiB/81920MiB 2515040220002│ ├─────────────────────────────────────────────────────────────────────────────────────────┤ │Card3 S40-02-A02 700MHz 930mV 28C 20% 33W 0% 0:a7:00.0 0MiB/81920MiB 2515040220001│ └─────────────────────────────────────────────────────────────────────────────────────────┘ 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.9.0 Driver Version 3.12.0 SOLA Version 3.12.0 │ ╰────────────────────────────────────────────────────────────────────────────────────────╯ Devices ┌────────────────────────────────────────────────────────────────────────────────────────┐ │Index Name Freq. Voltage Temp. Fan Pwr Util Bus ID Memory-Usage SN │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 4W 2023513080332│ │ 0 700MHz 930mV 26C N/A 1W 0% 0:03:00.0 0MiB/20480MiB │ │ 1 700MHz 930mV 24C N/A 1W 0% 0:04:00.0 0MiB/20480MiB │ │ 2 700MHz 930mV 26C N/A 2W 0% 0:05:00.0 0MiB/20480MiB │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 3W 2023513080288│ │ 3 700MHz 930mV 27C N/A 1W 0% 0:25:00.0 0MiB/20480MiB │ │ 4 700MHz 925mV 27C N/A 1W 0% 0:26:00.0 0MiB/20480MiB │ │ 5 700MHz 925mV 28C N/A 1W 0% 0:27:00.0 0MiB/20480MiB │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 3W 2023483080244│ │ 6 700MHz 930mV 27C N/A 1W 0% 0:43:00.0 0MiB/20480MiB │ │ 7 700MHz 930mV 28C N/A 1W 0% 0:44:00.0 0MiB/20480MiB │ │ 8 700MHz 930mV 28C N/A 1W 0% 0:45:00.0 0MiB/20480MiB │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 5W 2024083080031│ │ 9 700MHz 930mV 26C N/A 1W 0% 0:83:00.0 0MiB/20480MiB │ │ 10 700MHz 930mV 24C N/A 2W 0% 0:84:00.0 0MiB/20480MiB │ │ 11 700MHz 940mV 29C N/A 2W 0% 0:85:00.0 0MiB/20480MiB │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 4W 2023513080299│ │ 12 700MHz 930mV 30C N/A 1W 0% 0:a3:00.0 0MiB/20480MiB │ │ 13 700MHz 930mV 30C N/A 2W 0% 0:a4:00.0 0MiB/20480MiB │ │ 14 700MHz 930mV 30C N/A 1W 0% 0:a5:00.0 0MiB/20480MiB │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 3W 2023513080279│ │ 15 700MHz 925mV 25C N/A 1W 0% 0:c3:00.0 0MiB/20480MiB │ │ 16 700MHz 930mV 24C N/A 1W 0% 0:c4:00.0 0MiB/20480MiB │ │ 17 700MHz 930mV 25C N/A 1W 0% 0:c5:00.0 0MiB/20480MiB │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ + 00S30-00A 5W 2023513080328│ │ 18 700MHz 930mV 24C N/A 1W 0% 0:e3:00.0 0MiB/20480MiB │ │ 19 700MHz 930mV 25C N/A 2W 0% 0:e4:00.0 0MiB/20480MiB │ │ 20 700MHz 930mV 25C N/A 2W 0% 0:e5: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 May 21 13:36:49 2025 Driver Version : 3.12.0 SOLA Version : 3.12.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 : 2515040220003 UUID : 04300000000000000000000002515040220003 Board Id : 0x000 PCI Bus : 0x34 Device : 0x00 Domain : 0x0000 Bus Id : 0:34:00.0 Device Id : 0x70401f36 Sub System Id : 0x70011f36 Fan Fan Policy : balance Fan Speed : 24% (1740 RPM) 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 : 1 Device Memory Uncorrected : 0 Temperature : 27 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` 终止输出。 **指定字段选项(二选一)** `--board-field` : 指定显示板卡信息的字段。 (可选)`-b, --board`:指定板卡 ID,取值范围:0-7。如果未指定,默认显示所有板卡信息;如果指定多个字段或值: - 空格分隔,例如:`--board-field board board.power`。 - 花括号中逗号分隔,例如:`--board-field {board,board.power} -b {0,1}`。 可选字段(不区分大小写): ::: nested-table | **可选字段** | **说明** | | ---------------------------------------------- | ----------------------- | | board | 板卡 ID | | board.fan.policy | 风扇模式 | | board.fan.speed | 风扇调速比(单位:%) | | board.fan.speed_rpm | 风扇每分钟转速(RPM) | | board.power | 风扇功率 | ::: `-f,--field` : 指定显示 SPU 设备信息的字段。 (可选)`-i,--index`:指定设备 ID,取值范围:0-31。如果未指定,默认显示所有设备信息;如果指定多个字段或值: - 空格分隔,例如:`-f index pci.bus_id`。 - 花括号逗号分隔,例如:`-f {index,pci.bus_id} -i {0,1,2}`。 可选字段(不区分大小写): ::: nested-table | **可选字段** | **说明** | | ---------------------------------------------- | ----------------------------------------------------------- | | 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` : 显示帮助信息。 **指定设备选项(三选一)** `-i,--index` : 指定要修改配置的设备 ID,取值范围:0-31。如果指定多个值: - 空格分隔,例如:`-i 0 1 2`。 - 花括号中逗号分隔,例如:`-i {0,1,2}`。 `-b,--board` : 指定要修改配置的板卡 ID,取值范围:0-7。如果指定多个值: - 空格分隔,例如:`-b 0 1 2`。 - 花括号中逗号分隔,例如:`-b {0,1,2}`。 `--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` : 显示帮助信息。 **指定设备选项(二选一)** `-i,--index` : 指定要重启的设备 ID,取值范围:0-31。如果指定多个值: - 空格分隔,例如:`-i 0 1 2`。 - 花括号中逗号分隔,例如:`-i {0,1,2}`。 `--all` : 指定重启所有设备。 ```Bash sudo mx-smi reboot --all ```