今天早上我遇到了一个问题。我有一台用于机器学习的计算机,没有其他用途。我使用 python 运行 tensorflow 来训练我制作的一些模型。
问题是我今天早上无法通过 VNC 登录机器。经过调查,我发现 gnome shell 已重新启动,我必须再次登录。不幸的是,我的整个会话都消失了。我想这可能是 oom killer - 这些机器学习程序往往会消耗大量内存(正常运行时间仍超过两个月,因此这不是完全重新启动)。然而,查看 dmesg 后发现,最后一条内存不足消息是在两个月前记录的。
从我的机器学习会话中,我知道崩溃一定发生在午夜后一小时左右,因为这是最后一次将内容写入定期保存模型的目录中。
我只是找不到有关导致崩溃的更多日志。
查看时,大约在崩溃发生的同时/var/log/kern.log
出现了一条 rfkill: input handler enabled
消息。据我所知,这台机器甚至没有任何无线设备。之前的最后一条消息是四天前的一些 apparmor 东西。
我尝试使用 journalctl 查看日志gdm.service
,尽管声称日志开始于 7 月底,但在崩溃发生时大约同一时间有一条条目说session opened for user gdm by (uid=0)
。
我的问题是:我怎样才能知道到底发生了什么以及是什么终止了该进程?
[编辑] 我刚刚查看了包含机器学习代码的目录。我有一个带 vim 的终端,其中打开了所有 python 代码,因此我可以在需要时快速编辑代码。但是,查看目录时没有交换文件。通常,当发生崩溃时,交换文件会保留下来,您必须手动恢复 vim 会话,但情况并非如此。崩溃实际上可能是显示管理器的一次或多或少的优雅重启吗?如果是这样,是否有任何关于此的日志?