在 Windows 中我们可以通过任务管理器快速查看有哪些进程正在运行以及哪些进程出现故障无响应或卡死情况,现在 Linux Kernel 也要提供类似功能。当然 Linux Kernel 不能提供图形化界面,不过会在出现某些故障后呈现具体有多少个进程 / 任务出现了响应问题,运维工程师可以根据计数判断故障情况。
目前支持该功能的新补丁已经合并到 Linux Kernel 6.13 版中,待后续该版本正式发布及系统更新到最新内核版本后,那就可以使用卡住的任务计数。
此次添加的选项是 /proc/sys/kernel/hung_task_detect_count,主要功能则是用于指示系统 / 服务器启动以来所有挂起的任务警告数量。
例如一台连续运行超过 200 天的 Linux 服务器,在长期运行的情况下必然会有某些进程出现问题,出现问题后会被记录下来;如果某个时候挂起的进程 / 任务数突然大增,那说明服务器肯定出现故障了。
这种情况下运维工程师可以根据挂起的任务数量来快速判断服务器是否存在软件或硬件故障,当然不能纯粹靠挂起的任务数来判断,但这相当于警告,运维工程师需要及时进行故障排查分析具体原因。
不过到现在为止还没有比较方便的的挂起任务数报告可以使用,这个可能还需要更多时间开发出能够更直观判断情况的新功能。