执行模型推理/训练时,如果Device侧出现异常,将不能通过msnpureport工具导出Device侧的日志和文件。此时可以在推理/训练执行之前,在Host侧运行msnpureport_auto_export.sh脚本连续导出Device侧的日志和文件,确保能够获取到Device异常前的所有日志文件,便于定位问题。
其中pid代表连续导出日志和文件的脚本进程ID,可以通过ps -elf | grep msnpureport_auto_export.sh命令进行查询。
msnpureport_auto_export.sh脚本在驱动Driver的安装目录下,路径为“Driver安装目录/driver/tools/msnpureport_auto_export.sh”。
Driver安装目录/driver/tools/msnpureport_auto_export.sh <timeInterval> <logAbsolutePathCapacity> <logAbsolutePath>
命令示例:
/usr/local/Ascend/driver/tools/msnpureport_auto_export.sh 2 10 /home/log/
在加锁的目录下(使用lsattr命令查看目录属性,有“i”选项的为加锁目录),用户没有权限运行msnpureport_auto_export.sh脚本。如果用户想在该目录下运行该脚本,可以通过chattr -i <加锁的目录>命令,将目录的“i”选项撤销。脚本运行完后建议通过chattr +i <加锁的目录>命令,将目录的“i”选项加上。为了安全起见,不建议在加锁目录中运行脚本。
其中各参数解释如表1所示:
参数 |
说明 |
---|---|
<timeInterval > |
导出Device侧日志和文件的间隔时间。取值为大于0的整数,单位是s,如:2s。 |
<logAbsolutePathCapacity> |
导出Device侧日志和文件的存储目录容量。取值为大于等于2的整数,单位是G,如:10G。 |
<logAbsolutePath> |
导出Device侧日志和文件的存储路径(任意的绝对路径)。如:“/home/log/”。 |
脚本运行成功后,Device侧日志和文件将存储在运行脚本时指定的存储路径下(如“/home/log/”),如果不存在该目录,会自动进行创建。该目录下会自动创建如下子目录:
目录 |
说明 |
---|---|
msnpureport_log_new |
导出Device侧日志和文件的存储目录。该目录下包含如下子目录:
其中hisi_logs目录下的history.log文件和message目录下的message.log文件是在Device侧的同名文件中进行老化的,所以每次导出之后需要将导出内容追加到同一目录下的history_new.log和message_new.log文件中并进行去重,来获取所有日志文件。 其他目录的日志文件在Device侧是以时间戳命名的,是通过删除较早时间戳的日志文件进行老化的,所以每次导出之后只需将导出内容拷贝覆盖就可以获取所有日志文件。 |
msnpureport_log_old |
老化的日志和文件的存储目录。 如果msnpureport_log_new目录存储的日志容量超过运行脚本时指定的存储目录容量的一半(如10/2=5G),将自动清空msnpureport_log_old目录下的日志和文件,再将msnpureport_log_new目录下存储的日志和文件全部移动到msnpureport_log_old目录下。 |