今天我正在一台远程机器上工作(我可能永远不会看到这样的机器),它挂起了,所以我告诉用户重新启动它。机器再次启动,我ssh
进入了它,但是当我启动时,我就收到一条关于其温度高于 60°C 的消息,因此内核再次关闭了机器,当然我也断开了连接从ssh
。
我们即将再次启动机器,有没有办法从日志中读取内容,表明该机器过去因太热而关闭?
答案1
当机器过热时,在内核关闭系统之前,它会生成一条消息,存储在日志文件中。对于systemd
设置,可以通过journalctl
命令访问该文件,相关输出应如下所示:
Jul 09 05:28:39 jjmach kernel: thermal thermal_zone0: critical temperature reached (96 C), shutting down
Jul 09 05:28:40 jjmach root[27818]: ACPI event unhandled: thermal_zone LNXTHERM:00 000000f0 00000001
Jul 09 05:28:57 jjmach kernel: thermal thermal_zone0: critical temperature reached (96 C), shutting down
Jul 09 05:28:57 jjmach lightdm[174]: Failed to get D-Bus connection
Jul 09 05:28:46 jjmach pppd[17312]: Hangup (SIGHUP)
Jul 09 05:29:00 jjmach org.a11y.Bus[265]: Reloaded configuration
Jul 09 05:28:42 jjmach systemd[1]: Stopping Daemon for power management...
$SYSTEMD_PAGER
因此,我们需要(通常less
)或直接搜索“临界温度” :
journalctl -g 'temperature|critical'
您只能-b -1
在最后一次启动的消息中添加搜索。
话虽如此,我认为 60°C 对于触发点来说确实非常低。大多数 CPU 在编译或其他资源丰富的任务期间通常会达到该温度。确保您已加载所有正确的模块(针对您的处理器)并使用sensors-detect
随后的sensors
命令检查热参数。