机器凌晨三点自己重启,dmesg 尾巴揪出 java 被系统杀的
后半夜,web01 失联了十几分钟, 早上我登上去,uptime 已经变了样:
$ uptime -p
up 6 hours, 11 minutes
zhang 手起的那个 java,pid 31245,没了。 不是自己退的。
dmesg 只剩本次开机的,上一程得从 journal 捞:
# journalctl -b -1 -k | tail -1
Oct 19 03:02:41 web01 kernel: Out of memory: Killed process 31245 (java) total-vm:4194304kB, anon-rss:3670016kB
8G 的机器,4 核,就是那台 CentOS 7.9。 anon-rss 3.5G,对得上他重启时加的 -Xmx4g。
〈监控报内存只剩 200MB,free 这两列把我骗了〉收尾那句 「available 见底的下场」,就是这一行。 那回还说 -b -1 在这台没得用,这回用上了。
我这次的教训就一行:进程凭空消失, 先 dmesg 再谈重启,别上来就 systemctl restart。 这晚内存为什么突然顶满、机器是谁拉回来的, 串起来查,是明天的事。

浙公网安备 33010602011771号