从 Linux 6.19 内核开始,卡住任务检测器和系统死锁检测器现在可以选择性地通过转储额外的系统信息来提供更深入的洞察。新的 lockup_sys_info 和 hung_task_sys_info sysctl 控制项作为由 Andrew Morton 管理的拉取请求的一部分被合并进来。
Andrew Morton 首次提交了 Linux 6.19 的内存管理 “MM” 更新。总体而言,这包括一些底层内核代码的清理工作以及各种小的优化:
– 对 vmalloc()代码进行了重构,以支持非阻塞分配。
– 对 NUMA 节点处理代码进行了小幅清理。此外,对 NUMA 分配提示代码也进行了少量优化。
– DAMOS 自动调优功能已增强,支持每个 memcg 和每个节点的内存使用自动调优。
– 优化了在页面回收期间处理脏文件 folios 的逻辑,以减少一些不必要的页面回收工作。
– 对 folio 拆分代码的优化。
– 对 zone device-private 内存中透明大页”THP”迁移的支持。
更多关于 Linux 6.19 中许多底层内存管理(MM)更改的细节,请参见此拉取请求。
接下来是 Andrew Morton 提交的”非 MM”拉取请求,其中包含一些其他值得注意的更改,包括检测器转储功能的增强:
– 通过 BPF 调试信息将 BPF 符号名称、大小和行号提供给 GDB 调试器。
– Linux 的挂起任务检测器和系统锁死情况现在可以按需转储额外的系统信息。通过新的 sysctl 配置选项,可以在挂起任务或系统锁死检测器被触发时转储更多信息。对于挂起任务检测器,使用的是”hung_task_sys_info” sysctl 开关,它接受如”tasks,mem,timers,locks,ftrace”这样的字符串来指定在检测到挂起任务时转储哪些信息。同样地,”lockup_sys_info” sysctl 用于指定在检测到系统锁死时转储的系统信息。目前支持的选项可以通过逗号分隔的字符串传递给 hung_task_sys_info 和/或 lockup_sys_info,包括:

– 如前所述,Live Update Orchestrator 作为 Google 贡献的另一个重要内核功能被合并。
更多详情请参见非内存管理相关的拉取请求。这两个拉取请求均已合并。
转自 Linux 6.19’s Hung Task & System Lockup Detectors Can Provide Greater Insight – Phoronix
Linuxeden开源社区