msnpureport工具在驱动Driver的安装目录下,路径为“Driver安装目录/driver/tools/msnpureport”。
Driver安装目录/driver/tools/msnpureport [options]
在加锁的目录下(使用lsattr命令查看目录属性,有“i”选项的为加锁目录),用户没有权限运行msnpureport工具。如果用户想在该目录下运行msnpureport工具,可以通过chattr -i <加锁的目录>命令,将目录的“i”选项撤销。工具运行完后建议通过chattr +i <加锁的目录>命令,将目录的“i”选项加上。为了安全起见,不建议在加锁目录中运行工具。
其中[options]支持的参数及解释请参见表1。
参数 |
说明 |
举例 |
---|---|---|
不指定任何参数 |
导出所有日志和文件,包括:
|
Driver安装目录/driver/tools/msnpureport |
-a或--all |
导出所有日志、文件以及黑匣子设备事件信息,包括:
|
Driver安装目录/driver/tools/msnpureport -a |
-f或--force |
导出所有日志、文件以及黑匣子相关信息,包括:
|
Driver安装目录/driver/tools/msnpureport -f |
-t或--type |
指定导出的日志类型,取值为:
|
Driver安装目录/driver/tools/msnpureport -t 1 |
注:导出的日志和文件保存路径分别为slog日志,slog目录;syslog日志,message目录;Stackcore文件,stackcore目录;黑匣子日志、黑匣子设备事件信息、黑匣子存储空间中的历史维测信息,hisi_logs目录;事件调度模块的维测信息,event_sched目录。 |
存储目录 |
说明 |
---|---|
dev-os-id/debug/device-os/device-os_*.log |
Device侧系统进程产生的调试日志,包括用户态日志和内核态日志。 |
dev-os-id/run/device-os/device-os_*.log |
Device侧系统进程产生的运行日志。 |
dev-os-id/run/event/event_*.log |
Device侧系统进程产生的EVENT日志。 |
dev-os-id/security/device-os/device-os_*.log |
Device侧系统进程产生的安全日志。 |
dev-os-id/run/device-app-pid/device-app-pid_*.log |
Device侧应用进程产生的运行日志。仅当Device侧回传到Host侧失败时,才会在Device侧存储该日志。 |
dev-os-id/debug/device-app-pid/device-app-pid_*.log |
Device侧应用进程产生的调试日志。仅当Device侧回传到Host侧失败时,才会在Device侧存储该日志。 |
dev-os-id/security/device-app-pid/device-app-pid_*.log |
Device侧应用进程产生的安全日志。仅当Device侧回传到Host侧失败时,才会在Device侧存储该日志。 |
dev-os-id/debug/device-id/device-id_*.log |
Device侧非Control CPU上的系统类日志。 |
dev-os-id/slogd/slogdlog |
维测日志。记录日志工具自身的运行信息,用于日志工具自身问题定位。 |
注:上述日志中id和pid分别代表Device ID和进程ID,请以实际为准;日志文件中的“*”表示该日志文件创建时的时间戳。 |
syslog日志表示调用syslog接口记录Device侧其他组件产生的日志,“*”为时间戳。
导出的黑匣子日志、黑匣子的设备事件信息和黑匣子存储空间中的历史维测信息均保存在该目录下,“*”为时间戳。
通过msnpureport工具导出黑匣子后,可以参考《黑匣子日志参考》对黑匣子进行后续的分析处理。
Stackcore文件主要是用来保存链接了libstackcore.so的进程(例如slogd、adda、tsdaemon、aicpu_scheduler进程)的堆栈信息,用于定位进程异常。
通过msnpureport工具导出Stackcore文件后,可以参考《黑匣子日志参考》“Stackcore文件解析定位”章节对Stackcore文件进行后续的分析处理,“*”为时间戳。
msnpureport工具在驱动Driver的安装目录下,路径为“Driver安装目录/driver/tools/msnpureport”。
Driver安装目录/driver/tools/msnpureport [options]
Driver安装目录/driver/tools/msnpureport [options] -d <device-id>
其中[options]为查询和设置日志级别的各个参数,[options]各个参数及其他参数的解释请参见表2。
非算力切分容器场景下,执行命令行时,需增加--docker参数标识为容器内执行命令。例如:
Driver安装目录/driver/tools/msnpureport --docker -r
参数 |
说明 |
举例 |
---|---|---|
-g <level>或 --global <level> |
设置全局级的日志级别。
|
Driver安装目录/driver/tools/msnpureport -g info |
-m <module:level>或 --module <module:level> |
设置模块级的日志级别。
|
Driver安装目录/driver/tools/msnpureport -m SLOG:error |
-e <level>或 --event <level> |
设置是否开启Event日志。
|
Driver安装目录/driver/tools/msnpureport -e disable |
-d <device-id>或 --device <device-id> |
指定Device ID(逻辑ID),默认为0。通过指定Device ID设置对应Device的日志级别。 指定的Device ID是指逻辑上的Device ID而不是物理上的Device ID。须先判断逻辑ID后再设置对应的日志级别,详细步骤请参见SMP形态日志级别设置特殊说明。 |
Driver安装目录/driver/tools/msnpureport -g warning -d 1 |
-r或--request |
查询Device侧slog系统类日志的级别,包括全局级、模块级和是否开启Event日志。如果不指定Device ID,默认查询Device 0的日志级别。 |
Driver安装目录/driver/tools/msnpureport -r 查询后显示的级别示例如下: The system log level of device_id:0 is as follows: [global] INFO [event] ENABLE [module] SLOG:INFO IDEDD:INFO DVPP:INFO CCE:INFO HDC:INFO DRV:INFO MDCDEFAULT:INFO DEVMM:INFO KERNEL:INFO LIBMEDIA:INFO ASCENDDK:INFO ROS:INFO HCCP:INFO ROCE:INFO PROFILING:INFO APP:INFO TDT:INFO MD:INFO MB:INFO ME:INFO BBOX:INFO TS:INFO TSDUMP:INFO LP:INFO |
-h或--help |
用于打印帮助信息。 |
Driver安装目录/driver/tools/msnpureport -h |
SMP形态下,多个Device共用一个OS组成一组,OS上部署Device共用的进程模块,各个Device小核上部署各自独有的模块,如TS、LP、IMP和IMU模块。此时通过-g设置日志级别,有以下特殊情况:
-g -d:修改OS上共用进程模块及-d指定Device小核上所有模块的日志级别。
关于物理ID与逻辑ID:
使用npu-smi info命令查看到的设备上的NPU Device ID即为物理ID。假设物理ID的取值范围是0~7,Device0~Device3四个为一组Device4~Device7四个为一组。物理ID的分组情况请以设备实际情况为准。
查询到的物理ID会按照数字大小从小到大自上而下排列,那么对应的逻辑ID则从0开始按顺序为0~n。假设查询到的物理ID为“0,1,4,5”,那么对应逻辑ID则为“0,1,2,3”。根据上一步的分组情况可判断物理ID“0,1”为一组,“4,5”为一组,那么可以推断出逻辑ID“0,1”为一组,“2,3”为一组。