日志参考 推理 · 2020. 10. 25. · info 正常级别,系统正常运行的信息。 debug...

20
CANN V100R020C10 日志参考 (推理) 文档版本 01 发布日期 2021-02-09 华为技术有限公司

Upload: others

Post on 31-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • CANNV100R020C10

    日志参考 (推理)

    文档版本 01

    发布日期 2021-02-09

    华为技术有限公司

  • 版权所有 © 华为技术有限公司 2021。 保留一切权利。

    非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

    和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

    您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

    由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 i

  • 目 录

    1 日志参考......................................................................................................................................11.1 日志处理机制介绍.................................................................................................................................................................... 11.2 日志文件介绍............................................................................................................................................................................. 11.3 日志级别介绍............................................................................................................................................................................. 31.4 日志记录格式介绍.................................................................................................................................................................... 41.5 日志配置介绍............................................................................................................................................................................. 41.6 设置日志级别............................................................................................................................................................................. 81.7 启动日志进程...........................................................................................................................................................................10

    2 常见问题....................................................................................................................................122.1 启动 slogd 进程时提示进程已存在但实际查询不到..................................................................................................... 122.2 日志没有正常落盘.................................................................................................................................................................. 132.3 adc 命令修改日志级别不生效............................................................................................................................................. 142.4 修改昇腾 AI 处理器环境时区后日志打印的时间戳不正确.......................................................................................... 15

    3 附录........................................................................................................................................... 163.1 推理场景产品形态说明......................................................................................................................................................... 163.2 修订记录................................................................................................................................................................................... 17

    CANN日志参考 (推理) 目 录

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 ii

  • 1 日志参考1.1 日志处理机制介绍

    1.2 日志文件介绍

    1.3 日志级别介绍

    1.4 日志记录格式介绍

    1.5 日志配置介绍

    1.6 设置日志级别

    1.7 启动日志进程

    1.1 日志处理机制介绍昇腾AI处理器日志文件产生机制如下:

    1. 采集日志通过sklogd和slogd进程采集用户态和内核态日志,日志驱动采集非Control CPU上的日志。

    2. 将日志记录到文件Device侧的日志被log-daemon记录在文件名称以device-id和device-os-id开头的日志文件中,Host侧的日志被slogd、sklogd记录在文件名称以host-0开头的日志文件中。

    说明

    ● device-id开头的日志是记录Device侧非Control CPU日志。

    ● device-os-id开头的日志是记录Device侧Control CPU日志,包括用户态日志和内核态日志。

    Ascend RC环境,没有该日志目录,相关的日志内容存放在host-0目录下的日志文件中;下文不再单独说明。

    1.2 日志文件介绍本节介绍Host侧日志的存储路径、文件名称及记录的主要信息。

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 1

  • 表 1-1 日志分类介绍

    日志文件 存储路径 说明

    device-os-id_*.log /var/log/npu/slog/device-os-id 采集Device侧Control CPU上的日志,主要采集以下模块的日志:

    ● Slog● ADDA● AscendCL● Driver● HDC● HCCP● ……

    device-id_*.log /var/log/npu/slog/device-id 采集Device侧非ControlCPU上的日志,主要采集以下模块的日志:

    ● Task Scheduler● TSDUMP● AICPU● LP

    host-0_*.log /var/log/npu/slog/host-0 采集Host侧用户态和内核态日志,主要采集以下模块的日志:

    ● Slog● AscendCL● Framework● Runtime● CCE● ADA● Driver● HCCL● DVPP● HDC● MDC● MLL● Kernel● ……

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 2

  • 说明

    device-id_*.log与host-0_*.log文件中的“*”表示该日志文件创建时的时间戳。日志工具自身的日志文件默认存储在“/var/log/npu/slog/slogd”目录下,日志文件名为slogdlog,记录日志工具自身的运行信息,用于日志工具自身问题定位。日志具备老化策略,当slogdlog文件达到规定大小(5MB)后,名称变更为slogdlog.old进行备份(如果已有备份文件,则删除旧的备份文件);libslog.so的维测日志存放在/var/log/messages文件里。ADX工具的操作日志默认存储在“/var/log/npu/ide_daemon/run”目录下,日志文件名为adoper.log,记录工具的操作有命令执行、文件传输、日志级别设置、profiling启动、证书替换。日志具备老化策略,当adoper.log文件达到规定大小(10MB)后,名称变更为adoper.log.old进行备份(如果已有备份文件,则删除旧的备份文件)。

    1.3 日志级别介绍各日志级别介绍如表1-2所示,如需更改系统日志级别,请参考级别定义描述进行选择。

    日志级别等级由低到高顺序:DEBUG < INFO < WARNING < ERROR;级别越低,输出日志越详细。

    表 1-2 日志级别

    日志类型 日志级别 定义

    运行日志 ERROR 一般错误级别,该级别的日志记录了如下错误:

    ● 非预期的数据或者事件。● 影响面较大且模块内部能够处理的错

    误。

    ● 限制在模块内的错误。● 对其他模块有轻微影响的错误,例如统

    计任务创建失败。

    ● 引起调用失败的错误。● 在业务逻辑错误的情况下记录错误状态

    的信息及造成错误的可能原因。

    WARNING 警告级别,系统和预期的状态不一致,但不影响整个系统的运行。

    INFO 正常级别,系统正常运行的信息。

    DEBUG 调试级别,该级别的日志记录了调试信息,便于开发人员或维护人员定位问题。

    NULL 表示NULL级别,不输出日志。

    Trace日志 - 记录模块运行全生命周期中模块流程交互、状态迁移时的信息。

    Oplog日志 - 记录进程任务创建或销毁资源时的日志。

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 3

  • 日志类型 日志级别 定义

    EVENT日志 - 输出全系统最关键日志,例如:整网运算启动\完成\异常终止, 内存不够,单板温度过高等。

    1.4 日志记录格式介绍本节介绍系统记录日志的格式以及各字段的含义,便于理解日志所记录的信息。

    日志样例如下:

    [ERROR] TEFUSION(12940,atc):2020-07-17-05:54:07.599.074 [tensor_engine/te_fusion/pywrapper.cc:33]InitPyLogger Failed to import te.platform.log_util

    日志格式如下:

    [Level] ModuleName(PID,PName):DateTimeMS [FileName:LineNumber]LogContent

    表 1-3 日志字段说明

    字段 说明

    Level 日志级别。运行日志存在5种日志级别:ERROR、WARNING、INFO、DEBUG、EVENT。

    ModuleName 产生日志的模块的名称。

    PID 进程ID。

    PName 进程名称。

    DateTimeMS 日志打印时间,格式为:yyyy-mm-dd-hh:mm:ss.SSS。

    FileName:LineNumber 调用日志打印接口的文件及对应的行号。

    LogContent 各模块具体的日志内容。

    1.5 日志配置介绍系统运行过程中需要记录的日志级别、日志输出路径、日志文件名、单个日志文件大小等信息可以配置,本节对控制日志生成的配置进行介绍。

    说明

    多用户场景下,仅支持日志进程的运行用户修改配置文件。

    用户在修改日志配置项时,请严格按照表1-4中的要求,根据建议值或取值范围进行配置,若不按照配置项配置要求,可能会导致系统异常。

    手动修改Host侧或Device侧配置文件后,可以分别重启Host侧slogd或Device侧slogd进程,使配置生效;也可以执行reboot命令重启系统,使Host侧配置文件修改生效,Device侧配置文件不支持重启生效。

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 4

  • /var/log/npu/conf/slog/slog.conf文件用于控制Slog采集日志时的配置,该文件中的配置字段样例,如下所示。

    ###Begin Config for Host/Device, modify in host/device take effect only for host/device####note, 0:debug, 1:info, 2:warning, 3:error, 4:null(no output log), default(3)global_level=3# Event Type Log Flag, 0:disable, 1:enable, default(1)enableEvent=1# note, 0:debug, 1:info, 2:warning, 3:error, 4:null(no output log), 5:invalid(follow global_level)SLOG=5 # SlogIDEDD=5 # ascend debug device agentIDEDH=5 # ascend debug agentHCCL=5 # HCCLFMK=5 # FrameworkHIAIENGINE=5DVPP=5 # DVPPRUNTIME=5 # RuntimeCCE=5 # CCEHDC=5 # HDCDRV=5 # DriverMDCFUSION=5 # Mdc fusionMDCLOCATION=5 # Mdc locationMDCPERCEPTION=5 # Mdc perceptionMDCFSM=5MDCCOMMON=5MDCMONITOR=5MDCBSWP=5 # MDC basesoftware platformMDCDEFAULT=5 # MDC UNDEFINEMDCSC=5 # MDC spatial cognitionMDCPNC=5MLL=5DEVMM=5 # Dlog memory managentKERNEL=5 # KernelLIBMEDIA=5 # LibmediaCCECPU=5 # ai cpuASCENDDK=5 # AscendDKROS=5 # ROSHCCP=5ROCE=5TEFUSION=5PROFILING=5 # ProfilingDP=5 # Data PreprocessAPP=5 # User Application call HIAI_ENGINE_LOGTDT=5FE=5MD=5MB=5ME=5GE=5 # FmkASCENDCL=5BBOX=5TBE=5TUNE=5###End Config for Host/Device, modify in host/device take effect only for host/device###

    ###Begin Config for Host, modify in device donot take effect#### set host-xxx.log or device-xxx.log file num, range is [1, 1000], default(30)logAgentMaxFileNum=30# set host-xxx.log or device-xxx.log file size, range is [1048576, 104857600], default(52428800)logAgentMaxFileSize=52428800# set host-xxx.log or device-xxx.log file pathlogAgentFileDir=/var/log/npu/slog# set host-xxx.log or device-xxx.log zip(1) or not(0), default(0)zip_switch = 0###End Config for Host, modify in device donot take effect###

    ###Begin Config for Device, modify in host donot take effect#### note, 0:debug, 1:info, 2:warning, 3:error, 4:null(no output log), 5:invalid(follow global_level)TS=5

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 5

  • TSDUMP=5AICPU=5LP=5###End Config for Device, modify in host donot take effect###

    相关配置项说明详情见表1-4。

    表 1-4 相关配置项说明

    配置项 说明

    global_level 配置slog日志级别。取值范围:● 0:表示DEBUG级别。● 1:表示INFO级别。● 2:表示WARNING级别。● 3:表示ERROR级别。默认值。● 4:表示NULL级别,不输出日志。● 其他值:非法值。

    enableEvent 是否开启event日志级别。● 1:开启event日志级别。默认值。● 0:不开启event日志级别。

    logAgentMaxFileNum 日志存储路径下保存的日志文件数量,当日志文件数目大于该数目时发生滚动,新日志覆盖最早的日志。

    该参数仅在Host侧配置有效,在Device侧配置不生效。

    说明

    ● Ascend EP环境,默认值为30。

    ● Ascend RC环境,默认值为8。

    logAgentMaxFileSize 单个日志文件大小,该数值为最大值,当日志文件大小超过该值时,则生成新的日志文件。

    该参数仅在Host侧配置有效,在Device侧配置不生效。

    说明

    ● Ascend EP环境,默认值为50MB。

    ● Ascend RC环境,默认值为10MB。您可以根据实际情况调整大小,最大不超过100MB。如果设置值小于1MB,系统默认为1MB。

    logAgentFileDir 日志文件路径。如果修改该路径,需确保运行日志进程的用户对该路径有读写权限。

    该参数仅在Host侧配置有效,在Device侧配置不生效。

    说明该路径最长支持255字节。如果输入超过255字节长度,系统自动取截断后的路径,并在截断后的路径下保存日志。

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 6

  • 配置项 说明

    zip_switch 是否进行日志文件压缩。● 0:不压缩日志文件。● 1:压缩日志文件。该参数仅在Host侧配置有效,在Device侧配置不生效。

    TS、TSDUMP、AICPU、LP 各模块对应的日志级别。这4个参数仅在Device侧配置有效。取值范围:

    ● 0:表示DEBUG级别。● 1:表示INFO级别。● 2:表示WARNING级别。● 3:表示ERROR级别。● 4:表示NULL级别,不输出日志。● 5:无效值,模块日志级别取global_level设置

    的级别。默认值。

    说明

    ● 模块日志级别为5,而全局日志级别为正常值(0、1、2、3),则模块跟随全局日志级别。

    ● 模块日志级别为5,而全局日志级别为4,则模块日志不打印。

    ● 模块日志级别为5,而全局日志级别为非法值,则模块日志级别为ERROR。

    ● 模块日志级别为4,则模块不打印日志。

    ● 模块日志级别为正常值(0、1、2、3),则模块的日志级别取该值对应级别。

    SLOG、IDEDD、IDEDH…… 各模块对应的日志级别。取值范围:● 0:表示DEBUG级别。● 1:表示INFO级别。● 2:表示WARNING级别。● 3:表示ERROR级别。● 4:表示NULL级别,不输出日志。● 5:无效值,模块日志级别取global_level设置

    的级别。默认值。

    说明

    ● 模块日志级别为5,而全局日志级别为正常值(0、1、2、3),则模块跟随全局日志级别。

    ● 模块日志级别为5,而全局日志级别为4,则模块日志不打印。

    ● 模块日志级别为5,而全局日志级别为非法值,则模块日志级别为ERROR。

    ● 模块日志级别为4,则模块不打印日志。

    ● 模块日志级别为正常值(0、1、2、3),则模块的日志级别取该值对应级别。

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 7

  • 1.6 设置日志级别日志记录了运行环境的运行情况和功能流程的处理情况,是维护人员查看系统状态、进行问题定位的重要工具和手段。日志模块根据系统设置的日志级别,记录不同详细程度的内容,满足不同系统维护需求。

    支持通过以下方式来设置运行环境的日志级别:

    ● 通过adc命令行修改

    ● 通过/var/log/npu/conf/slog/slog.conf配置文件修改

    ● 通过GLOBAL_LOG_LEVEL环境变量修改日志级别

    通过 adc 命令行修改日志级别您可以用运行用户登录开发环境,执行全局级或模块级的日志级别修改命令修改运行环境的日志级别。

    在开发环境上必须安装Toolkit组件,设置环境变量后才可以使用adc命令。

    设置如下环境变量:

    export PATH=/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/bin:$PATH

    说明

    ● /home/HwHiAiUser/Ascend/ascend-toolkit/latest:为开发环境上默认安装路径,本处为举例,请根据实际情况替换。

    ● 为了简化操作,可以将上述环境变量配置加入用户的环境变量设置中,以Bash shell为例修改~/.bashrc文件,或者修改/etc/profile文件,执行source ~/.bashrc或source /etc/profile后生效,后续重启或重新登录后不需要再重复设置该环境变量。

    ● 您也可以登录Host侧服务器,用运行用户执行全局级或模块级的日志级别设置命令。

    ● 执行命令修改日志级别,同时在Host侧和Device侧生效。

    ● 针对Ascend EP场景,如果重启昇腾AI处理器,Device侧日志级别将恢复为系统默认级别。

    ● 针对Ascend EP场景,一卡多芯片形态,通过命令修改指定ID的任意一Device日志级别,均会修改整个Host侧日志级别和指定Device的日志级别。

    ● 修改日志级别命令参数说明:

    ● “服务器的IP地址”:指Host侧IP地址。

    ● “端口号”:默认值为22118。

    ● “level”:可设置的日志级别名称,参数范围:error、info、warning、debug、null(表示不打印日志)中的一个。

    ● “id”:指待修改日志级别的Device的ID号。

    ● 设置全局级的日志级别的命令如下:adc --host 服务器的IP地址:端口号 --log 'SetLogLevel(0)[level]' --device id举例:adc --host 192.168.1.2:22118 --log 'SetLogLevel(0)[info]' --device 0

    ● 设置模块级的日志级别的命令如下:adc --host 服务器的IP地址:端口号 --log 'SetLogLevel(1)[moduleName:level]' --device id举例:adc --host 192.168.1.2:22118 --log 'SetLogLevel(1)[TS:info]' --device 0

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 8

  • “moduleName”可设置为TS、TSDUMP、AICPU、LP、SLOG、IDEDD、IDEDH、HCCL、FMK、HIAIENGINE、DVPP、RUNTIME、CCE、HDC、DRV、MDCFUSION、MDCLOCATION、MDCPERCEPTION、MDCFSM、MDCCOMMON、MDCMONITOR、MDCBSWP、MDCDEFAULT、MDCSC、MDCPNC、MLL、DEVMM、KERNEL、LIBMEDIA、CCECPU、ASCENDDK、ROS、HCCP、RoCE、TEFUSION、PROFILING、DP、APP、TDT、FE、MD、MB、ME、GE、ASCENDCL、BBOX、TBE、TUNE等模块中的一个。

    ● 设置event的日志级别的命令如下:adc --host 服务器的IP地址:端口号 --log 'SetLogLevel(2)[enable/disable]' --device id举例:adc --host 192.168.1.2:22118 --log 'SetLogLevel(2)[enable]' --device 0

    “enable”:开启event日志级别。“disable”:不开启event日志级别。

    执行命令修改日志级别后,可以分别查看Host侧和Device侧/var/log/npu/conf/slog/slog.conf配置文件是否修改成功,如果修改成功,则修改日志级别生效。

    通过 slog.conf 配置文件修改日志级别Ascend RC场景

    参考日志配置介绍章节内容,修改Host侧/var/log/npu/conf/slog/slog.conf配置文件中全局日志级别、模块日志级别和是否开启Event日志。

    修改配置文件后,重启slogd进程使配置生效。

    1. 安装用户登录板端环境,进入/var目录。2. 重启slogd进程:pkill slogd; ./slogd &

    Ascend EP场景

    参考日志配置介绍章节内容,分别修改Host侧和Device侧/var/log/npu/conf/slog/slog.conf配置文件中全局日志级别、模块日志级别和是否开启Event日志。

    修改配置文件中日志级别后,重启slogd进程使配置生效。

    说明

    修改日志级别操作后,如果重启昇腾AI处理器,配置仅在Host侧生效,Device侧日志级别将恢复为系统默认级别。

    通过 GLOBAL_LOG_LEVEL 环境变量修改日志级别通过GLOBAL_LOG_LEVEL环境变量设置日志级别,只在当前shell下生效,仅对当前窗口设置全局级别及各模块日志级别为该值,不会修改日志配置文件slog.conf的配置项值。

    通过GLOBAL_LOG_LEVEL环境变量设置日志级别,在libslog.so初始化时解析并依据该值指定的日志级别过滤输入的日志信息并写入日志文件。如果用户GLOBAL_LOG_LEVEL环境变量设置了非法值(或没有设置值),则读取配置文件获取全局及各模块日志级别。

    设置GLOBAL_LOG_LEVEL环境变量举例:

    export GLOBAL_LOG_LEVEL=1

    GLOBAL_LOG_LEVEL取值范围如下:

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 9

  • ● 0:对应DEBUG级别。

    ● 1:对应INFO级别。

    ● 2:对应WARNING级别。

    ● 3:对应ERROR级别。

    ● 4:对应NULL级别。

    ● 其他值为非法值。

    1.7 启动日志进程说明

    进程重启后,生成的日志信息会写入一个全新的日志文件里(即使之前的日志文件大小未达到限定的值)。

    /home/HwHiAiUser/Ascend:为默认安装路径,本处为举例,请根据实际情况替换。

    重启 slogd 进程

    重启slogd进程:

    以安装用户(如HwHiAiUser)登录运行环境,执行如下命令:

    Ascend EP场景:

    kill slogd进程ID

    /home/HwHiAiUser/Ascend/driver/tools/slogd

    Ascend RC场景:

    kill slogd进程ID

    /var/slogd

    重启 log-daemon 进程

    以安装用户(如HwHiAiUser)登录运行环境,执行如下命令:

    Ascend EP场景:

    kill log-daemon进程ID

    /home/HwHiAiUser/Ascend/driver/tools/log-daemon

    Ascend RC场景:

    kill log-daemon进程ID

    /var/log-daemon

    启动异常处理

    执行slogd命令启动slogd进程失败,可能为以下2种原因导致,请参考处理:

    ● slogd.pid属主异常

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 10

  • 进入/usr/slog目录,执行ls -l命令查看slogd.pid属主是否为root,如果属主是root,建议删除该文件后重新执行命令重启slogd进程。

    ● /var目录所在磁盘使用率达100%进入根目录,运行命令df -h,如果/var目录所在磁盘使用率达到100%导致slogd启动失败,则进入“/var/log/npu/slog”目录,手动删除一些较大的、时间较早的日志文件。删除完后重新执行命令重启slogd。

    CANN日志参考 (推理) 1 日志参考

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 11

  • 2 常见问题2.1 启动slogd进程时提示进程已存在但实际查询不到

    2.2 日志没有正常落盘

    2.3 adc命令修改日志级别不生效

    2.4 修改昇腾AI处理器环境时区后日志打印的时间戳不正确

    2.1 启动 slogd 进程时提示进程已存在但实际查询不到

    故障现象

    执行启动slogd进程失败,屏幕打印信息“Slogd maybe is already runing, pleasecheck!”。

    可能原因

    针对上述故障现象,启动slogd进程失败的可能原因是:

    由于未知原因导致/var/log/npu/conf/slog下没有slogd.conf,slogd进程启动时使用了slogd进程文件所在目录下的slog.conf文件,此时调用了libslog.so的APP通过共享内存(key: 0x474f4c46)和slogd进行进程间通信。

    然后,由于使用非正常手段(如: kill -9)停止slogd进程,导致共享内存无法正常释放,从而导致本次启动新的slogd进程时无法正常启动。

    处理步骤

    针对上述可能原因,此时可以按下面方法处理:

    步骤1 使用ipcs -m命令查看共享内存是否被占用。

    步骤2 使用ipcrm -M 0x474f4c46命令删除共享内存。

    步骤3 参考启动日志进程,重新启动slogd。

    ----结束

    CANN日志参考 (推理) 2 常见问题

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 12

  • 2.2 日志没有正常落盘如果日志没有正常落盘,请参照如下步骤进行解决:

    步骤1 执行如下命令查看Host侧的相关日志进程(slogd、sklogd和log-daemon)是否启动。ps -elf | grep log

    若显示进程相关信息,说明Host侧的相关日志进程已启动。若未启动,请执行如下步骤手动拉起相关日志进程:

    1. 执行如下命令切换到普通用户(如HwHiAiUser)。su HwHiAiUser

    2. 执行如下命令手动拉起相关日志进程。– 拉起slogd进程。

    nohup /usr/local/Ascend/driver/tools/slogd > /dev/null 2>&1 &

    – 拉起sklogd进程。nohup /usr/local/Ascend/driver/tools/sklogd > /dev/null 2>&1 &

    – 拉起log-daemon进程。nohup /usr/local/Ascend/driver/tools/log-daemon > /dev/null 2>&1 &

    说明

    上述拉起进程的命令中,“/usr/local/Ascend”为Driver的默认安装路径,本处为举例,请根据实际情况替换。

    3. 执行如下命令确认相关日志进程是否被拉起。ps -elf | grep log

    步骤2 执行如下命令查看日志工具维测日志中是否有告警或错误日志。cat /var/log/npu/slog/slogd/slogdlog

    步骤3 检查Host侧日志目录和配置文件的权限、属主是否正确。

    参照表2-1检查日志目录、配置文件的权限、属主是否正确。图2-1显示的权限为HwHiAiUser用户。

    图 2-1 检查日志目录权限属主

    CANN日志参考 (推理) 2 常见问题

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 13

  • 表 2-1 日志目录和文件

    日志目录和文件 说明 属主 权限

    /var/log/npu/slog/ 日志落盘根目录 HwHiAiUser

    750

    /var/log/npu/slog/host-0/ Host侧日志落盘目录 HwHiAiUser

    750

    /var/log/npu/slog/device-os-id/

    Device侧Control CPU日志落盘目录

    HwHiAiUser

    750

    /var/log/npu/slog/device-id/

    Device侧非Control CPU日志落盘目录

    HwHiAiUser

    750

    /usr/slog/slog/ 套接字通道目录(即slogd进程本地通信的通道目录)

    HwHiAiUser

    660

    /var/log/npu/conf/slog/slog.conf

    日志配置文件 HwHiAiUser

    640

    步骤4 执行如下命令查看日志工作路径“/usr/slog”和日志落盘路径(如“/var/log/npu/slog”)所在的磁盘空间是否已满。df -h

    步骤5 若日志仍没有正常落盘,可以进行如下操作。● 若Host侧日志仍没有正常落盘,可以尝试重启Host侧进程。命令如下:

    kill -15 pid

    pid为进程号,可以通过ps -elf | grep log命令查询相关日志进程号(slogd、sklogd和log-daemon)。重启之后,参见步骤1重新手动拉起相关日志进程。

    ● 若Device侧日志仍没有正常落盘,可以登录Device侧执行如下命令查看Device侧相关日志进程(slogd、sklogd)是否启动。(用户需要有登录Device侧的权限)ps -elf | grep log

    若显示进程相关信息,说明Device侧的相关日志进程(slogd、sklogd)已启动。若未启动,请执行如下步骤手动拉起相关日志进程。

    a. 执行如下命令切换到普通用户(如HwHiAiUser)。su HwHiAiUser

    b. 执行如下命令手动拉起Device侧的slogd进程。nohup /var/slogd > /dev/null 2>&1 &

    c. 执行如下命令手动拉起Device侧的sklogd进程。nohup /var/sklogd > /dev/null 2>&1 &

    d. 执行如下命令确认进程是否被拉起。ps -elf | grep log

    ----结束

    2.3 adc 命令修改日志级别不生效

    异常现象

    通过adc命令设置日志级别,日志级别修改不生效:配置文件中日志级别修改成功,但日志文件中仍然打印原级别日志信息。

    CANN日志参考 (推理) 2 常见问题

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 14

  • 可能原因

    产生该问题的可能原因是使用非root用户、且和运行用户不同属组的用户启动APP。

    处理方式

    使用运行用户(如HwHiAiUser)启动APP,或将运行APP的用户属组改为运行用户的属组后再运行APP。

    2.4 修改昇腾 AI 处理器环境时区后日志打印的时间戳不正确

    异常现象

    日志打印信息中时间戳与系统环境的时间不一致。

    可能原因

    产生该问题的可能原因是用户启动了推理任务后修改了系统环境的时区。

    处理方式

    参考以下方式处理:

    重新拉起推理任务。

    CANN日志参考 (推理) 2 常见问题

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 15

  • 3 附录3.1 推理场景产品形态说明

    3.2 修订记录

    3.1 推理场景产品形态说明以昇腾310 AI 处理器的PCIe的工作模式进行区分,如果PCIe工作在主模式,可以扩展外设,则称为RC模式;如果PCIe工作在从模式,则称为EP模式。昇腾710 AI处理器只有EP模式。

    ● 支持RC模式的产品有:Atlas 200 AI加速模块、Atlas 200 DK 开发者套件(型号3000)。

    产品的CPU直接运行用户指定的AI业务软件,接入网络摄像头、I2C传感器、SPI显示器等其他外挂设备作为从设备接入产品。

    ● 支持EP模式的产品– 昇腾310 AI处理器:Atlas 200 AI加速模块、Atlas 300I 推理卡、Atlas 500

    智能边缘小站、Atlas 500 Pro 智能边缘服务器、Atlas 800 推理服务器。– 昇腾710 AI处理器:Atlas 300I Premium 推理卡(型号 6000)。EP模式通常由Host侧作为主端,Device侧作为从端。客户的AI业务程序运行在Host系统中,产品作为Device系统以PCIe从设备接入Host系统,Host系统通过PCIe通道与Device系统交互,将AI任务加载到Device侧的Ascend 310/710芯片中运行。

    两种模式的产品及架构如图3-1所示。

    ● Host:是指与昇腾AI处理器所在硬件设备相连接的X86服务器、ARM服务器,利用昇腾AI处理器提供的NN(Neural-Network)计算能力完成业务。

    ● Device:是指安装了昇腾AI处理器的硬件设备,利用PCIe接口与服务器连接,为服务器提供NN计算能力。

    CANN日志参考 (推理) 3 附录

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 16

  • 图 3-1 RC 和 EP 模式

    3.2 修订记录发布日期 修改说明

    2020-10-15 第一次正式发布。

    CANN日志参考 (推理) 3 附录

    文档版本 01 (2021-02-09) 版权所有 © 华为技术有限公司 17

    目 录1 日志参考1.1 日志处理机制介绍1.2 日志文件介绍1.3 日志级别介绍1.4 日志记录格式介绍1.5 日志配置介绍1.6 设置日志级别1.7 启动日志进程

    2 常见问题2.1 启动slogd进程时提示进程已存在但实际查询不到2.2 日志没有正常落盘2.3 adc命令修改日志级别不生效2.4 修改昇腾AI处理器环境时区后日志打印的时间戳不正确

    3 附录3.1 推理场景产品形态说明3.2 修订记录