【Input/Output error】硬件debug记录
系统报错OSError: [Errno 5] Input/output error: 'checkpoints/regress/loss_log.txt',随后只能重启服务器,欲debug该错误。
查看系统日志
查看系统日志/var/log/messages,如果该文件不存在,可以参考(https://blog.csdn.net/jeanphorn/article/details/45167487),即:
vim /etc/rsyslog.d/50-default.conf
增加以下内容
*.info;mail.none;authpriv.none;cron.none /var/log/messages
重启系统,再来查看系统日志
cat /var/log/messages
发现已经存在系统log内容。运行代码,出现bug后查看日志内容,发现以下error,
Jul 13 11:25:02 vipl-ESC4000-G3-Series-Invalid-entry-length-16-Fixed-up-to-11 kernel: [ 682.664836] pcieport 0000:80:03.0: device [8086:6f08] error status/mask=00000040/00002000
查找设备
查找设备[8086:6f08],参考(电脑一直报PCIE BUS错误的原因 - caya - 博客园 (cnblogs.com)),即
$ lspci -nn |grep 8086:6f08 00:03.0 PCI bridge [0604]: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 [8086:6f08] (rev 01) 80:03.0 PCI bridge [0604]: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 [8086:6f08] (rev 01)
跟踪接口03.0
$ lspci -t |grep 03.0 | +-03.0-[82]--+-00.0 +-03.0-[03]--+-00.0
这个命令是显示pci的树状接口图,这里可以看到 03.0接到82和03设备,继续查找设备
$ lspci -nn |grep 82 82:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1) 82:00.1 Audio device [0403]: NVIDIA Corporation GP102 HDMI Audio Controller [10de:10ef] (rev a1) $ lspci -nn |grep 03 03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1) 03:00.1 Audio device [0403]: NVIDIA Corporation GP102 HDMI Audio Controller [10de:10ef] (rev a1)
发现连接的是VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1),即该设备产生了错误。