21-检测Soft Lockup
17.4.5 检测Soft Lockup
要检测soft lockup,首先需要在内核配置中开启 DETECT_SOFTLOCKUP
。这个特性能够检测内核模式下长时间不发生上下文切换的情况。这个特性也存在于非实时内核中,但它对于实时内核更加有用,可以检测出延时非常大的路径或软死锁的情况。要使用这个特性,只需要开启它并关注控制台或系统日志中的输出就可以了。输出信息类似于下面这样:
当内核输出这条消息时,它一般还会输出函数的回溯调用和其他一些信息,比如进程名称和进程号,看上去类似于处理器寄存器完成的内核的oops消息。请参考内核源码中的.../kernel/ softlockup.c以获取更多详情。这些信息可以帮助我们定位问题的源头。