問題
訓練模型時,訓練到第2個epoch時程序無緣無故消失,沒有打印任何異常日志
定位方法
程序加try catch,捕獲異常日志,運行python時使用如下命令記錄error信息
nohup python xxx.py > nohup.out 2>&1 &
結果:nohup沒有記錄任何信息,訓練過程突然中斷,感覺程序被kill
查看系統kill日志
dmesg | egrep -i -B100 'killed process'
# 或者
egrep -i 'killed process' /var/log/messages
egrep -i -r 'killed process' /var/log
# 或者
journalctl -xb | egrep -i 'killed process'
發現有一條 Out of memory: kill process 21748(python)
優化
已定位是內存不夠,優化代碼、加內存,問題解決