日志文件获取
本节介绍日志的存储路径、文件名称及记录的主要信息。
export ASCEND_SLOG_PRINT_TO_STDOUT=1
- 0:表示采用日志的默认输出方式。
- 1:表示日志打屏显示。
- 其他值为非法值。
通过执行echo $ASCEND_SLOG_PRINT_TO_STDOUT命令可以查看设置的值,如果查询为非法值或者空,表示采用日志默认输出方式。

上述日志中id和pid分别代表Device ID和进程ID,请以实际为准;日志文件中的“*”表示该日志文件创建时的时间戳。
推理场景(Ascend EP)和训练场景
应用类日志
假设有一个ACL应用程序,进程ID为pid(请以实际为准),应用程序运行完成后,可在日志目录下查看日志如图1所示。
日志目录默认为“$HOME/ascend/log/plog”,也可以使用环境变量ASCEND_PROCESS_LOG_PATH指定路径(如:export ASCEND_PROCESS_LOG_PATH =/home/xxx)。可指定日志落盘路径为任意有读写权限的目录。日志存储时如果不存在该目录,会自动创建该目录;如果存在则直接存储。

应用类日志支持在容器内或物理机内查看。为保证日志工具在容器内正常运行,需要将日志工具动态库文件libalog.so及其依赖的libc_sec.so所在路径映射到容器内。以安装路径“/usr/local/Ascend/”为例,libalog.so及其依赖的libc_sec.so所在路径分别为“/usr/local/Ascend/nnae/latest/compiler/lib64/libalog.so”和“/usr/local/Ascend/driver/lib64/common/libc_sec.so”。
存储路径 |
说明 |
---|---|
$HOME/ascend/log/plog/plog-pid_*.log |
在Host侧运行应用程序产生的日志,主要包括compiler、ATC中各组件(如ACL、GE)打印的日志和Driver用户态日志。 |
$HOME/ascend/log/device-id/device-pid_*.log |
在Device侧运行应用程序产生的日志,主要包括Device侧AICPU、HCCP的日志,并回传到Host侧。
须知:
|
注:
|
业务进程退出前,默认延时2000ms,等待Device侧应用类日志回传到Host侧,超时后,业务进程退出。延时时间可以通过环境变量ASCEND_LOG_DEVICE_FLUSH_TIMEOUT进行设置,取值范围为[0, 180000],整数形式,单位是ms。设置方法如下:
export ASCEND_LOG_DEVICE_FLUSH_TIMEOUT=5000
- 设置的值仅在当前shell下生效。
- 如果环境变量设置了非法值(或没有设置值),默认延时2000ms。
- 通过执行echo $ASCEND_LOG_DEVICE_FLUSH_TIMEOUT命令可以查看设置的值,如果查询为非法值或者空,表示使用默认值。
- 如果业务进程不需要等待所有Device侧应用类日志回传到Host侧,可以将环境变量设置为0。
- 如果业务进程退出后,仍然有Device侧应用类日志未回传到Host侧,则直接在Device侧落盘(路径为/var/log/npu/slog/device-app-pid/device-app-pid_*.log)。针对这种情况,建议将延时时间调大,具体调节的大小可以根据device-app-pid的日志内容进行判断。
plog和device-id日志目录下能够存储的单个进程的日志文件数量默认均为10个,该数量也可以通过环境变量ASCEND_HOST_LOG_FILE_NUM进行设置,取值范围为[1, 1000],整数形式,单位是个。设置方法如下:
export ASCEND_HOST_LOG_FILE_NUM=20
- 设置的值仅在当前shell下生效。
- 如果环境变量设置了非法值(或没有设置值),采用默认值。
- 通过执行echo $ASCEND_HOST_LOG_FILE_NUM命令可以查看设置的值,如果查询为非法值或者空,表示采用默认值。
如果plog和device-id日志目录下存储的单个进程的日志文件数量超过设置的值,将会自动删除最早的日志。另外每个plog-pid_*.log或device-pid_*.log日志文件的大小最大固定为20MB。如果超过该值,会生成新的日志文件。
Device侧系统类日志
Device侧系统类日志通过msnpureport工具传输到Host侧进行查看。导出操作以及导出日志的存储路径具体请参见msnpureport工具使用章节。

容器内不支持查看Device侧系统类日志,也不支持通过msnpureport工具导出Device侧系统类日志。
存储路径 |
说明 |
---|---|
/var/log/npu/slog/device-os/device-os_*.log |
Device侧Control CPU上的系统类日志,包括用户态日志和内核态日志。主要采集以下模块的日志:
|
/var/log/npu/slog/device-id/device-id_*.log |
Device侧非Control CPU上的系统类日志,主要采集以下模块的日志:
|
/var/log/npu/slog/device-app-pid/device-app-pid_*.log |
Device侧应用类日志。仅当Device侧应用类日志回传到Host侧失败时,才会在Device侧存储该日志。 说明:
|
/var/log/npu/slog/slogd/slogdlog |
维测日志。记录日志工具自身的运行信息,用于日志工具自身问题定位。日志具备老化策略,当slogdlog文件达到规定大小(1MB)后,名称变更为slogdlog.old进行备份(如果已有备份文件,则删除旧的备份文件)。 |
/var/log/messages* |
调用syslog接口记录Device侧其他组件产生的日志。 |
注:上述日志中id和pid分别代表Device ID和进程ID,请以实际为准;日志文件中的“*”表示该日志文件创建时的时间戳。 |
推理场景(Ascend RC)
存储路径 |
说明 |
---|---|
/var/log/npu/slog/device-os/device-os_*.log |
Control CPU上的系统类日志,包括用户态日志和内核态日志。主要采集以下模块的日志:
|
/var/log/npu/slog/device-id/device-id_*.log |
非Control CPU上的系统类日志,主要采集以下模块的日志:
|
/var/log/npu/slog/device-app-pid/device-app-pid_*.log |
应用类日志,即运行应用程序产生的日志。 说明:
|
/var/log/npu/slog/slogd/slogdlog |
维测日志。记录日志工具自身的运行信息,用于日志工具自身问题定位。 日志具备老化策略,当slogdlog文件达到规定大小(1MB)后,名称变更为slogdlog.old进行备份(如果已有备份文件,则删除旧的备份文件)。 |
注:上述日志中id和pid分别代表Device ID和进程ID,请以实际为准;日志文件中的“*”表示该日志文件创建时的时间戳。 |