kworkerスレッド名をどのように解釈しますか?


15

デュアルソケットXeon X5650ヘキサコアボード上で実行されているLinux 3.11.0-13-genericでは、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
.......

名前が数字で始まるスレッドは、同じ数字でコアに固定されます。だから最初の数字はスレッドを実行しているコアであり、これらのスレッドの記号:0または0Hor 1)は何ですか?

また、uXX:Yシンボルの意味は何ですか?

私はkworkerスレッドが何をするかについて漠然とした知識しか持っていません。I/ Oを実行するシステムコールによって引き起こされる非同期イベントを処理します。どこかに文書化されていますか?

回答:


20

kernel.orgによると、構文はkworker/%u:%d%s (cpu, id, priority)です。はu、特別なCPU、非バインドCPUを指定します。これは、kthreadが現在バインドされていないことを意味します。

負のnice値を持つワークキューワーカーには、名前の末尾に「H」が付きます。(ソース


それではkworker、OPの質問のすべてのプロセスには優先順位が設定されていませんか?
ケンシャープ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.