未设置日志打屏环境变量,但是在屏幕上仍有日志显示
2023/05/08
160
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型训练 | TensorFlow | 日志、环境变量 |
问题现象描述
用户未设置日志打屏环境变量(export ASCEND_SLOG_PRINT_TO_STDOUT=1),但是在屏幕上仍有日志显示。
原因分析
日志模块收到日志消息后,首先根据环境变量判断是否打印到屏幕上,若不需要打印到屏幕上,则创建Socket与slogd进程建立连接,将日志发送给slogd进程,由slogd进程落盘。但是如果创建Socket失败,则会将日志打印到屏幕上。
解决措施
创建Socket失败的原因一般是用户在执行用例时,打开文件的数量超过了系统默认的最大数量。可以通过ulimit -a和lsof | wc -l命令分别查看系统默认打开文件的最大数量(即open files字段的取值)以及当前已经打开的文件数量,查看当前已经打开的文件数量是否超过了限制值。 如果超过限制值,可以通过ulimit -n <num>命令设置打开文件的最大数量,保证当前已经打开的文件数量不超过限制值。
本页内容