如何解释kworker线程名称?


15

在双插槽Xeon X5650六核主板顶部运行的Linux 3.11.0-13泛型上,htop显示了不同的kworker线程。按名称排序(我调整了这里显示的结果,使内核2上的线程先于内核10上的线程),结果如下:

kworker/0:0H
kworker/0:1
kworker/0:2
kworker/1:0
kworker/1:0H
kworker/1:1
kworker/2:0
kworker/2:0H
kworker/2:1
.....
kworker/11:0
kworker/11:0H
kworker/11:1
kworker/u48:0
kworker/u49:4
kworker/u49:5
kworker/u50:1
kworker/u50:2
.......

名称以数字开头的线程将以相同的数字固定到核心。因此,第一个数字是运行该线程的核心,我想知道这些线程之后:00Hor 1)后的符号是什么?

我也想知道uXX:Y符号的含义是什么?

我对kworker线程的功能只有一个模糊的了解:它们处理由执行I / O的系统调用引起的异步事件。他们在某处记录了吗?

Answers:


20

根据kernel.org,语法为kworker/%u:%d%s (cpu, id, priority)。该u指定专门的CPU,该CPU绑定,这意味着KTHREAD当前绑定。

具有负好值的工作队列工作者的名字后缀有“ H”。(来源


因此kworker,OP的问题中的所有流程都没有设置优先级?
肯·夏普
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.