默认Ubuntu 12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来,配置步骤如下:
第一步 配置内核崩溃自动重启
添加kernel.panic到内核参数,10为内核崩溃10秒之后,自动重启系统
vi /etc/sysctl.conf
kernel.panic = 10
第二步 验证自动重启机制是否生效,需要配置sysrq
添加kernel.sysrq 到内核参数,1为生效
vi /etc/sysctl.conf
kernel.sysrq = 1
运行命令,使配置的参数生效,或者重启系统
sysctl -p /etc/sysctl.conf
检查配置的参数是否生效
模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令
echo c >/proc/sysrq
看以看到内核崩溃,并读秒重启
第三步 配置内核转存
新装的系统需要升级下,否则不能通过apt-get安装软件
apt-get update
安装内核转存
sudo apt-get install linux-crashdump
查看是否生效
测试,模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令
发现系统崩溃,并卡死住,没有发送转存,也没有重启!
经过查找资料,发送这样的情况,可能和core dump内存配置不够有关系,于是修改了core dum内存配置
修改成512M大小
重新生成grub.cfg
再测试,成功。