起因
今天当代理服务器的机子崩了,SSH连接不上,显示器不输出。遂重启后读取日志
journalctl --list-boots #列出系统启动日志 journalctl -xe --boot=-1 #查看上一次的系统启动后日志可以看到是journal日志组件把kernel弄崩了,九成是发行版的bug,和部署的服务没啥关系,救不了,只能等系统更新(oops分析涉及到反编译,咱也不懂那玩意,只能看个七七八八)
想起之前用winserver的时候就算系统崩溃也会蓝屏、绿屏,然后重启。
Linux内核崩溃就这么锁死也不是办法,就去研究了一下如何设置自动重启。
调整内核配置文件sysctl.conf,添加内核崩溃延迟重启选项
vim /etc/sysctl.conf #添加,内核恐慌5秒后自动重启 kernel.panic = 5sysctl -p #应用配置检查设置是否起效,0为默认不重启,5为刚刚设置的超时5秒重启
cat /proc/sys/kernel/panic 5
sysctl.conf的其他调优
sysctl.conf配置文件也算是老熟人了,内核调优的时候经常要用到他。
下面是之前写的一篇博客,里面记录了其他调优的参数。
再补充几条日志查看排故命令
journalctl -xe
#从后往前看错误日志(这条用的挺多)
journalctl -k
dmesg
#都是看内核日志,但是journalctl可以搭配--boot/-b看上一次启动日志
journalctl -p 1
#分日志等级查看。01234567分别对应不同日志等级。 emerge alert crit error waring......
journalctl --list-boots
#列出系统启动日志
journalctl -b=-1
#查看上一次启动日志。很有用!系统崩溃重启后就用这条搭配其他选项。-b和--boot同义
journalctl -e -b=-1 -p 3
journalctl -xe --boot=-1
#一般都会多参数配合
2025.9补充 开启日志持久化
这些天玩ARMBIAN,发现journalctl -b=-1不出上一次启动日志
发现需要修改journalctl配置
vim /etc/systemd/journald.conf [Journal] Storage=persistent


4389

被折叠的 条评论
为什么被折叠?



