日志处理机制介绍
概述
日志主要用于记录系统的运行过程及异常信息,为快速定位系统运行中出现的问题及开发过程中程序调试问题提供详细信息。
日志大体分为如下两大类:
- 系统类日志:系统运行产生的日志。主要包括:
- Control CPU上的系统类日志,包括用户态日志和内核态日志。
- 非Control CPU(例如TSDUMP/LP)上的系统类日志。
- 应用类日志:运行应用程序产生的日志,主要包括:
- compiler中各组件(如GE、FE、AICPU、TBE、HCCL等)、runtime中各组件(如ACL、GE、Runtime等)打印的日志。
- Device侧AICPU 、HCCP打印的日志。
日志处理机制

以下日志文件名中的id和pid分别代表Device ID和进程ID,请以实际为准。
推理场景(Ascend EP)和训练场景
- 日志进程
设备完成驱动安装后日志进程自动启动。Device侧包括slogd进程、sklogd进程和log-daemon进程;Host侧则通过libalog.so采集Host侧的应用类日志,文件libalog.so包含在compiler和runtime目录下。
- 采集日志
在Device侧,log-daemon进程采集非Control CPU上的系统类日志;slogd进程采集Control CPU上的系统类日志和应用类日志。
在Host侧,libalog.so采集Host侧的应用类日志。
- 将日志记录到文件中
- Device侧系统类日志:slogd进程将Control CPU上的系统类日志记录在Device侧文件名称以device-os开头的日志文件中。log-daemon进程将非Control CPU上的系统类日志记录在Device侧文件名称以device-id开头的日志文件中。
- 应用类日志:Device侧的slogd进程将Device侧应用类日志回传给Host侧的libalog.so,libalog.so将接收的Device侧应用类日志与Host侧应用类日志分别记录在Host侧文件名称以device-pid和plog-pid开头的日志文件中。
如果Device侧的应用类日志回传到Host侧失败,会在Device侧直接落盘,记录在文件名称以device-app-pid开头的日志文件中。如果Device侧的应用类日志回传到Host侧成功,则不会在Device侧落盘。
- 传输日志
Device侧系统类日志可以通过部署在Host侧的msnpureport工具从Device侧传输给Host侧。
推理场景(Ascend RC)