FAQ
日志没有正常落盘
Ascend EP标准形态
通过msnpureport工具导出Device侧系统日志失败
如果通过msnpureport工具导出Device侧系统日志失败,请参照如下步骤处理:
-
在Host侧执行msnpureport工具命令后,查看打印的提示信息定位问题。
若未能解决问题,请执行2。
-
在Host侧执行如下命令查看Host侧日志存放路径(运行msnpureport工具所在路径)所在的磁盘空间是否已满。
df -h -
若未能解决问题,您可以获取日志后单击support联系技术支持。
应用类日志没有正常落盘
如果应用类日志没有正常落盘(包括“$HOME/ascend/log/”目录下plog日志和device-id日志),请参照如下步骤处理:
-
执行如下命令查看Host侧“/var/log/messages”文件中是否有相关的错误日志。
aarch64架构:
cat /var/log/messagesx86_64架构:
cat /var/log/syslog若未能解决问题,请执行2。
-
在Host侧执行如下命令查看日志落盘路径(“$HOME/ascend/log/”)所在的磁盘空间是否已满。
df -h若未能解决问题,请执行3。
-
在Host侧通过msnpureport工具导出Device侧系统日志,查看是否有相关的错误日志。
通过msnpureport工具导出Device侧系统日志的方法请参见《msnpureport 工具使用指南》。
-
若未能解决问题,您可以获取日志后单击support联系技术支持。
Control CPU开放形态
应用类日志没有正常落盘
如果应用类日志没有正常落盘,请参照如下步骤处理:
-
执行如下命令查看应用进程依赖的动态库是否正确。
ldd xxxxxx为二进制应用进程。 -
执行如下命令查看日志落盘路径(“/var/log/npu/slog”)所在的磁盘空间是否已满。
df -h -
执行如下命令查看slogd进程是否存在。
ps -elf | grep slogd若返回slogd进程相关信息,说明slogd进程存在。
-
若以上均无问题,但应用类日志仍没有正常落盘,可以尝试重启日志进程。
系统类日志没有正常落盘
如果系统类日志没有正常落盘,请参照如下步骤处理:
-
执行如下命令查看相关日志进程(slogd、sklogd)是否存在。
ps -elf | grep log若显示进程相关信息,说明相关日志进程已存在。
-
执行如下命令查看日志落盘路径(“/var/log/npu/slog”)所在的磁盘空间是否已满。
df -h -
若以上均无问题,但系统类日志仍没有正常落盘,可以尝试重启日志进程。
Ascend RC形态
应用类日志没有正常落盘
如果应用类日志没有正常落盘,请参照如下步骤处理:
-
执行如下命令查看应用进程依赖的动态库是否正确。
ldd xxxxxx为二进制应用进程。 -
执行如下命令查看日志落盘路径(“/var/log/npu/slog”)所在的磁盘空间是否已满。
df -h -
执行如下命令查看slogd进程是否存在。
ps -elf | grep slogd若返回slogd进程相关信息,说明slogd进程存在。
对于Atlas 200I/500 A2 推理产品,若slogd进程不存在,您可以获取日志后单击support联系技术支持。
-
若以上均无问题,但应用类日志仍没有正常落盘,可以尝试参考重启日志进程内容处理日志进程启动异常。
系统类日志没有正常落盘
如果系统类日志没有正常落盘,请参照如下步骤处理:
-
执行如下命令查看相关日志进程(slogd、sklogd)是否存在。
ps -elf | grep log若显示进程相关信息,说明相关日志进程已存在。
对于Atlas 200I/500 A2 推理产品,若进程不存在,您可以获取日志后单击support联系技术支持。
-
执行如下命令查看日志落盘路径(“/var/log/npu/slog”)所在的磁盘空间是否已满。
df -h -
若以上均无问题,但系统类日志仍没有正常落盘,可以尝试参考重启日志进程内容处理日志进程启动异常。
修改环境时区后,日志打印的时间戳不正确
异常现象
日志打印信息中时间戳与系统环境的时间不一致。
可能原因
产生该问题的可能原因是用户启动了AI任务后修改了系统环境的时区。
处理方式
方法一:重新启动AI任务。
方法二:修改系统环境时区。
# 查看当前时区设置
timedatectl
# 以Asia/Shanghai为例,设置新时区
sudo timedatectl set-timezone Asia/Shanghai
未设置日志打印环境变量,但是在屏幕上仍有日志显示
异常现象
用户未设置日志打印环境变量(export ASCEND_SLOG_PRINT_TO_STDOUT=1),但是在屏幕上仍有日志显示。
可能原因
日志模块收到日志消息后,首先根据环境变量判断是否打印到屏幕上,若不需要打印到屏幕上,则创建Socket与slogd进程建立连接,将日志发送给slogd进程,由slogd进程落盘。但是如果创建Socket失败,则会将日志打印到屏幕上。
处理方式
创建Socket失败的原因一般是用户在执行用例时,打开文件的数量超过了系统默认的最大数量。可以通过ulimit -a和lsof | wc -l命令分别查看系统默认打开文件的最大数量(即open files字段的取值)以及当前已经打开的文件数量,查看当前已经打开的文件数量是否超过了限制值。如果超过限制值,可以通过ulimit -n <num>命令设置打开文件的最大数量,保证当前已经打开的文件数量不超过限制值。