Linux 6.13 的最新开发动态显示,该版本内核将包含一个新的挂起任务计数器。
这个特性通过新增的 /proc/sys/kernel/hung_task_detect_count
文件来实现,它将统计自系统启动以来发生的挂起任务警告数量。这对于 Linux 服务器管理员来说是一个有用的健康指标,可以帮助他们判断是否存在软件或硬件问题所导致的大量意外挂起任务。
发送补丁并提议使用“hung_task_detect_count”计数器的 Lance Yang 解释道:
此补丁集添加了一个计数器,即 hung_task_detect_count,用于跟踪检测到挂起任务的次数。
在我看来,挂起任务是一个关键指标。目前,我们通过定期解析 dmesg 来检测它们。但是,这种方法不像使用计数器那样方便用户使用。
有时,NIC 或硬盘驱动器的短暂问题会迅速将 hung_task_warnings 降至零。如果没有警告,我们必须直接访问节点以确保不再有挂起任务并且系统已恢复。毕竟,仅靠平均负载无法提供清晰的图像。
一旦此计数器到位,在高密度部署模式中,我们计划将 hung_task_timeout_secs 设置为较低的数字以提高稳定性,即使这可能会导致误报。然后我们可以设置一个基于时间的阈值:如果挂起任务持续时间超过此持续时间,我们将自动将容器迁移到其他节点。根据过去的经验,这种方法可以帮助避免许多生产中断。
此外,就像其他已经有计数器的重要事件(如 OOM)一样,拥有一个用于挂起任务的专用计数器很有意义;)
此外,Linux 6.13 的非 MM 补丁拉取请求还包括对资源管理代码的清理,以及完成了 NILFS2 文件系统的对开本转换。这些变化的目的是提高内核的性能和稳定性。
更多独家技术见解与热门话题讨论,尽在【开源中国 APP】,与数百万开发者一起,随时随地探索技术无限可能。