듀얼 소켓 Xeon X5650 헥사 코어 보드에서 실행되는 Linux 3.11.0-13-generic에서 htop
다른 kworker 스레드를 보여줍니다. 이름별로 정렬했습니다 (코어 10의 스레드보다 스레드 2가 먼저 표시되도록 결과를 약간 조정했습니다). 결과는 다음과 같습니다.
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
또는 0H
또는 1
)가 무엇인지 궁금 합니다.
또한 uXX:Y
기호 의 의미가 무엇인지 궁금합니다 .
kworker 스레드가 수행하는 작업에 대한 모호한 지식 만 있습니다. I / O를 수행하는 시스템 호출로 인한 비동기 이벤트를 처리합니다. 어딘가에 기록되어 있습니까?
답변
kernel.org 에 따르면 구문은 kworker/%u:%d%s (cpu, id, priority)
입니다. 이것은 u
특별한 CPU, 언 바운드 CPU를 지정하는데, 이는 kthread가 현재 언 바운드임을 의미합니다.
음수 값이 좋은 작업 대기열 작업자는 이름 앞에 ‘H’가 붙습니다. ( 소스 )