---
title: 可维可测能力
description: "ATB当前提供以下可维可测能力："
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_0045.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_0045.html
indexId: 87eeeca48e4c7949e0486b3292aa63735b4fa9010a8fbe285a97c8d4bd0a1d0561
---
# 可维可测能力

ATB当前提供以下可维可测能力：

-   日志系统

-   DumpTensor能力

-   保存Operation信息与保存Kernel信息

-   保存CPU Profiling数据

-   保存拓扑信息

-   算子溢出检测


其中，除日志系统外，其他所有可维可测能力都集成在msit工具内，需要通过工具进行使用。工具使用说明见msit工具使用指导(https://gitcode.com/Ascend/msit/tree/master/msit)。

#### 日志系统

ATB的日志系统支持日志分级、日志输出到标准输出、日志输出到文件。

- 日志分级
  日志等级分为DEBUG、INFO、WARN、ERROR（默认）、NULL五个级别，如表1所示。 表1 日志等级 值 级别 含义 0 DEBUG 调试信息，打印加速库代码细节信息，加速库开发者可以通过查看DEBUG日志来调试框架代码。 1 INFO 数据信息，打印算子与整图相关的信息，用户通过观察INFO日志就可以得知整图或单算子的运行状态。 2 WARN 警告信息，表明会出现潜在错误的情形，给开发者一些提示。 3 ERROR 错误信息，该级别打印错误与异常信息。 4 NULL 关闭日志。

- 环境变量

  - ASCEND_GLOBAL_LOG_LEVEL(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0122.html)
    - 功能描述
      设置应用类日志的日志级别及各模块日志级别，仅支持调试日志。注意：ATB日志完全由此环境变量控制。

    - 示例：
      1 2 3 4 5 export ASCEND_GLOBAL_LOG_LEVEL=0 # 设置全局为DEBUG级别日志，所有未设置MODULE级别的模块使用此级别 export ASCEND_GLOBAL_LOG_LEVEL=1 # 设置全局为INFO级别日志，所有未设置MODULE级别的模块使用此级别 export ASCEND_GLOBAL_LOG_LEVEL=2 # 设置全局为WARNING级别日志，所有未设置MODULE级别的模块使用此级别 export ASCEND_GLOBAL_LOG_LEVEL=3 # 设置全局为ERROR级别日志，所有未设置MODULE级别的模块使用此级别 export ASCEND_GLOBAL_LOG_LEVEL=4 # 设置全局关闭日志，所有未设置MODULE级别的模块使用此级别

  - ASCEND_MODULE_LOG_LEVEL(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0123.html)
    - 功能描述
      设置应用类日志的各模块日志级别，仅支持调试日志。ATB日志所使用的模块名：OP，注意：OP模块名有多组件共用，非ATB单独占用。

    - 格式
      export ASCEND_MODULE_LOG_LEVEL=module_name1=module_level1:module_name2=module_level2:module_name3=module_level3

      module_name：为模块名，支持设置为GE、ASCENDCL、DRV、RUNTIME等，详情请参见《CANN 环境变量参考》中的“ASCEND_MODULE_LOG_LEVEL(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0123.html)”。

      module_level：为对应模块的日志级别。

    - 示例
      1 2 export ASCEND_MODULE_LOG_LEVEL=OP=1 # 设置使用OP模块名的组件局部为INFO级别日志 export ASCEND_MODULE_LOG_LEVEL=OP=1:GE=3 # 设置使用OP模块名的组件局部为INFO级别日志，设置使用GE模块名的组件局部为ERROR级别日志

  - ASCEND_SLOG_PRINT_TO_STDOUT

    - 功能描述
      是否开启日志打印。开启后，日志将不会保存在log文件中，而是将产生的日志直接打印显示。

      取值：

      0：关闭日志打印，即日志采用默认输出方式，将日志保存在log文件中。

      1：开启日志打印。

      其他值为非法值。

    - 示例
      1 export ASCEND_SLOG_PRINT_TO_STDOUT=1

  - ASCEND_PROCESS_LOG_PATH(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0120.html)
    - 功能描述
      设置日志落盘路径。

      日志存储时如果不存在该目录，会自动创建该目录；如果存在则直接存储。

      通过执行echo $ASCEND_PROCESS_LOG_PATH命令可以查看环境变量设置的路径。 日志落盘优先级为：ASCEND_PROCESS_LOG_PATH > ASCEND_WORK_PATH > 日志默认存储路径（$HOME/ascend/log） ASCEND_WORK_PATH详情请参见《CANN 环境变量参考》中的“ASCEND_WORK_PATH(https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0007.html)”。

    - 示例
      1 export ASCEND_PROCESS_LOG_PATH=/home/mypath/log/

  - ASCEND_LOG_SYNC_SAVE

    - 功能说明
      日志写文件是否刷新。

    - 示例
      1 export ASCEND_LOG_SYNC_SAVE=1


- 日志保存

  1. 日志文件保存在“[LOG_PATH]/atb”下。其中，[LOG_PATH]由环境变量ASCEND_PROCESS_LOG_PATH和ASCEND_WORK_PATH控制，默认存储路径（$HOME/ascend/log）。
  2. 日志文件的命名格式为atb_[PID]_[年][月][日][时][分][秒].log，其中，[PID]为线程号。例如：atb_253440_20231102065052.log。
- 空间管理

  1. 每个日志文件大小最大为1GByte，最多存50个文件。如当前保存目录下的日志文件（以标准命名格式存储的日志文件）达到最高存储数量，将根据时间戳，删除最早时间的日志文件。
  2. 在生成日志文件前，将会对日志保存目录的空间大小进行判断，如果空间不足10GByte，将不会继续生成日志文件。


#### DumpTensor能力

该功能通过msit工具使能，主要用在精度调试场景，可通过配置参数来指定dump特定或全部Operation的Tensor二进制文件。详细信息请参考DumpTensor能力使用指导(https://gitcode.com/Ascend/msit/tree/master/msit)。


#### 保存Operation信息与保存Kernel信息

这两个功能通过msit工具使能，可将运行过程中的Operation信息或Kernel信息（如参数、输入张量Shape、输出张量Shape等）保存成csv文件。详细信息请参考保存算子信息能力使用指导(https://gitcode.com/Ascend/msit/blob/master/msit/docs/llm/工具-DUMP加速库数据使用说明.md)。


#### 保存CPU Profiling数据

该功能通过msit工具使能，将ATB各个host侧接口的性能信息保存到文本文件中，用于host bound的性能问题定位。详细信息请参考保存CPU Profiling数据功能使用指导(https://gitcode.com/Ascend/msit/blob/master/msit/docs/llm/工具-DUMP加速库数据使用说明.md)。


#### 保存拓扑信息

该功能通过msit工具使能，可将ATB中任意Operation的图结构转换成json文件保存到本地，并且保存下来的json文件还可以通过msit工具转换成onnx文件（该文件无法作为模型导入，因为缺少权重信息），使用netron等工具进行可视化。详细信息请参考保存拓扑信息功能使用指导(https://gitcode.com/Ascend/msit/blob/master/msit/docs/llm/工具-DUMP加速库数据使用说明.md)。


#### 算子溢出检测

该功能通过msit工具使能，可检测整图运行过程中出现的算子溢出问题。若整图运行过程中出现了算子溢出问题，根据用户的配置，ATB会输出错误日志或是停止后续执行。详细信息请参考算子溢出检测功能使用指导(https://gitcode.com/Ascend/msit/blob/master/msit/docs/llm/工具-异常检测使用说明.md)。
