关于SUSE LINUX系统假死问题,我们需要分几个方面来看:
一、如果这个时候系统网络能有响应(比如能ping通),但是kernel运行正常,同时,我们也要确保Ctrl+ALt+F1--F6键时console控制台正常,那么我们可以通过下面的方法来获取一些信息:
基于SUSE LINUX操作系统方面,我们部署在故障发生时通过魔术键将系统状态的CALLTRACE(如内存、线程堆栈等)抓出来,则可以清晰的了解系统当时的状态。可通过配置串口控制台及操作本地键盘魔术键来将系统状态导出到控制台上。此时可以通过触发魔术键来获取有用信息。
服务器发生死机前,必须先配置服务器,具体步骤如下:
1、进入以下的界面提示后按进入BIOS设置。
“Press to view diagnostic messages
Press to enter SETUP,Network Boot ”
选择Server Mangement菜单下:
Console Redirection,即选择控制台重定向的串口,设置为enable
记录下默认的串口波特率等参数以备死机时连接使用。
2、有运行业务的机器上开启sysrq功能:
echo 1 > /proc/sys/kernel/sysrq 这种方法不用重启系统
修改上面目录下的sysrq文件,将文件内容改为1,可知系统已启用sysrq。
再通过修改/etc/sysctl.conf文件,这样可以保证系统启动后自动开启sysrq功能。方法是:在/etc/sysctl.conf文件中加入:
kernel.sysrq=1
运行:
sysctl -p
使之立即生效
3、现某台机器业务中断后,先尝试网络登录,如果可以,执行下面命令:
echo t > /proc/sysrq-trigger
echo p > /proc/sysrq-trigger
echo m > /proc/sysrq-trigger
如果网络不能登录,可尝试本地操作,串口登入,在控制台执行上述3条命令。
如果本地也不能登录,可执行在死机的服务器的键盘上先后同时按下:
Alt + SysRq + “t ”
Alt + SysRq + “p”
Alt + SysRq + “m”