Linux 如何触发内核故障,Linux:手动构建模拟内核故障
Linux:手动构建模拟内核故障在root权限中执行以下命令即可:echo 1 > /proc/sys/kernel/sysrq;echo c > /proc/sysrq-trigger如果是VMWare,将出现:点击“确定”后通常会自动重启虚拟机。更快更方便的模拟内核故障,可以自己在VMWare中创建虚拟机然后构建。(不需要跑机房)命令说明:1.echo 1 > /proc/s
Linux:手动构建模拟内核故障
在root权限中执行以下命令即可:
echo 1 > /proc/sys/kernel/sysrq;echo c > /proc/sysrq-trigger
如果是VMWare,将出现:
点击“确定”后通常会自动重启虚拟机。
更快更方便的模拟内核故障,可以自己在VMWare中创建虚拟机然后构建。(不需要跑机房)
命令说明:
1.echo 1 > /proc/sys/kernel/sysrq
是为了开启内核的SysRq功能。
SysRq = Magic System Request Key。
2.echo c > /proc/sysrq-trigger
echo c > /proc/sysrq-trigger 是模拟输入 c 这个键触发SysRq功能。
echo c > /proc/sysrq-trigger 支持很多不同的键,其中 c 参数指代故意让系统崩溃:
Crashes the system without first unmounting file systems or syncing disks attached to the system.
为什么要模拟内核故障?
做后台软件的时候需要考虑内核故障时业务流量中断的问题。
模拟内核故障,或者掉电等,可以观察到在这些异常情况下后台软件对上层业务“通信”质量的保证情况。
PS:
内核故障或掉电时,和手动宕停系统差异很大:
手动宕停操作系统,对于操作系统来说是“有序的”,操作系统可以“优雅地”关闭,做一些各级别(内核服务级、用户软件级等)各类的反注册操作。
内核故障或者掉电,对于操作系统来说是“无序的”,是突然的,操作系统不能“优雅地”关闭,此时,无法做反注册类的操作。
在网络通信时差异尤其明显。
好的后台软件,在其宿主机和目的主机通信出现异常(例如目的主机内核故障或掉电)时,也应当尽可能为上层业务保证更高的平台级通信质量,更低的通信故障时间,减少业务异常损失。
更多推荐
所有评论(0)