![机器 30 分钟后重启,或永不重启](https://linux22.com/image/1536330/%E6%9C%BA%E5%99%A8%2030%20%E5%88%86%E9%92%9F%E5%90%8E%E9%87%8D%E5%90%AF%EF%BC%8C%E6%88%96%E6%B0%B8%E4%B8%8D%E9%87%8D%E5%90%AF.png)
我有一个机器(将其用作服务器)一段时间以来,它一直存在一些奇怪的启动问题。要么它一直运行到我下次手动重新启动它(内核升级等),要么它在标记附近重新启动29m50s
。
我拿了一个视频当它发生时。它就死机了。就像click
我从操作系统关闭它时一样。
我无法找到它何时保持运行或何时重新启动的任何逻辑。
例子:
- 重启 @ 0:29:50
- 手动重启,因为已经 24 小时以上
- 重启 @ 0:29:53
- 重启 0:29:50
- 手动重启,已运行 35 多分钟
- 重启 @ 0:29:54
- 重启 @ 0:29:54
- 手动重启,已运行 12 多个小时。
- 手动重启,持续了 35 多分钟。
- 重启 @ 0:29:54
- 重启 @ 0:29:52
- 重启 @ 0:29:50
这些测试是在过去两天进行的。我正在运行while true; do echo $(awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime; acpi -t; hddtemp /dev/sda); sleep 1; done
以查看关闭时更新的正常运行时间和温度信息。
示例输出为0:29:54 Thermal 0: ok, 50.0 degrees C Thermal 1: ok, 50.0 degrees C /dev/sda: ST1000LM014-1EJ164: 47°C
。
每次启动时我都会获取ps -eo args | sort | uniq
和的输出。但我看不出它们有什么不同。systemctl list-units
日志journalctl --follow
和dmesg -wH
(均遵循版本,因此我将在启动前获取输出)未显示任何内容。我也没有找到任何其他日志。
我该如何解决这个问题?类似strace
但同时针对每个进程的方法就很好了。
有一种理论认为,有某种东西会在 30 分钟(精确)时启动它,但那个东西在系统正常运行时间开始之前就启动了。但那会是什么呢?
lsb_release -a
- 分销商 ID:Ubuntu
- 描述:Ubuntu 16.04.2 LTS
- 版本:16.04
- 代号:xenial
uname -a
- Linux d0 4.4.0-83-generic #106-Ubuntu SMP 2017 年 6 月 26 日星期一 17:54:43 UTC x86_64 x86_64 x86_64 GNU/Linux
硬件
- CompuLab Ltd. 的 Intense-PC
- CPU:Intel(R) Core(TM) i7-3517UE CPU @ 1.70GHz