如果是你的应用打开看门狗,那你kill的话,看门狗随着应用推出,就关闭了,两种方式验证:
linux系统开启看门狗,自己写一个应用程序只定时喂狗
两个程序,你个用于开启/关闭看门狗,另外一个程序只处理喂狗
前几天,帮同事一起查一个机器老是挂死无法进入问题,说有一台虚拟机时不时登陆不上挂死,同时甲方竟然没有这些主机监控,判断不了当时的cpu,内存,网络等的基础数据信息,那就只能看看内核信息了。
通过dmesg命令显示如下图,可以看到有soft lockup- CPU..stuck for 24s!字样,soft lockup是一种内核死锁检查的方式,类似于程序的心跳,打印这句话表示发生了内核软锁死。linux中每个cpu都设置了一个看门狗
进程,来检测内存软锁的问题,如果进程进入死锁或者进入死循环,长时间看门狗进程得不到调度,系统检测到进程占用cpu的时间超出特定的时间值后,会打印soft lockup告警,告警包含占用时长和进程名以及pid。
它的原理查了下:
也可以直接修改启动参数:
如下参数也都可以在/etc/default/grub修改GRUB_CMDLINE_LINUX行添加
这样在重启的时候不需要重新设置。
为了打印内核的core信息,需要安装kdump且启动程序
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)