Linux : 커널 공간 스레드 / 프로세스 만 볼 수 있습니까?


27

사용자 공간과 커널 공간이라는 두 가지 수준의 프로그램이 있다는 것을 알고 있습니다.

내 질문은 : 커널 프로그램 또는 더 나은 것을보고 싶습니다 : 커널 공간의 프로그램.

이 방법이 맞습니까?

ps -ef|grep "\["

root         1     0  0 20:23 ?        00:00:00 init [4]
root         2     0  0 20:23 ?        00:00:00 [kthreadd]
root         3     2  0 20:23 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 20:23 ?        00:00:00 [kworker/0:0H]
root         7     2  0 20:23 ?        00:00:06 [rcu_sched]
root         8     2  0 20:23 ?        00:00:00 [rcu_bh]
root         9     2  0 20:23 ?        00:00:00 [migration/0]
root        10     2  0 20:23 ?        00:00:00 [migration/1]
root        11     2  0 20:23 ?        00:00:00 [ksoftirqd/1]
root        13     2  0 20:23 ?        00:00:00 [kworker/1:0H]
root        14     2  0 20:23 ?        00:00:00 [migration/2]
....

5
커널 공간 프로그램을 볼 수 있습니까? ... 예! 당신은 단순히 ;-) ... 당신의 CCD에 정확한 천문학적 필터가 필요합니다
을 rubberstamp


5
@steve Kernel 공간 프로그램은 실제로 모듈에 대해 엄밀한 접선입니다. 모든 모듈에 프로세스가있는 것은 아니며 모든 프로세스가 모듈 인 것은 아닙니다.
Chris Down

3
문제는 잘못된 것입니다 : 당신이 커널없는 프로그램을 커널 프로세스 (또는 커널 스레드, 또는 커널 작업)을보고 싶어 .... 하나가 프로그램에 포함 된 다음 커널 (커널 모듈이되는 추가 커널에이).
Basile Starynkevitch

이제 수정하겠습니다
elbarna

답변:


42

커널 프로세스 (또는 "커널 스레드")는 PID 2 ( kthreadd)의 자식 이므로 더 정확할 수 있습니다.

ps --ppid 2 -p 2 -o uname,pid,ppid,cmd,cls

--deselect선택을 반전시키고 사용자 공간 프로세스 만 보려면 추가 하십시오.

(이 질문은 거의 정확한 역이었다 이것 .)

2.4. * 이전 커널에서는이 PID 2 규칙이 아직 존재하지 않았습니다.


항상 사실입니까? :이 질문에서 네 번째 주석을 참조하십시오 stackoverflow.com/q/12213445/1971003
가이 아브라함

초기 2.6. * 커널에서 "PID 2의 자식"규칙으로의 변환이 완전히 완료되지 않았을 수 있습니다. HighKing에서 알 수 있듯이 PID 2의 이름도 kthreadd2.6.18 까지 완전히 안정화되지 않았습니다 . 정확한 세부 사항에 관심이 있다면 kernel.org로 이동하여 git browser 인터페이스를 사용하여 kernel/kthread.c파일 의 초기 기록을 자세히 살펴보십시오 .
telcoM

4

커널 스레드는 RAM을 전혀 사용하지 않습니다 (또는 적어도 아무것도 사용하지 않는 것으로 표시됨).

ps -eo cmd,vsize,rss | grep -E ' 0 +0$'

1

tuna설치 한 경우 다음 과 같이 모든 커널 스레드를 나열 할 수 있습니다.

$ tuna -U -P
                      thread       ctxt_switches
    pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd 
  2      OTHER     0     0xff       290            1        kthreadd  
  3      OTHER     0     0xff         2            0          rcu_gp  
  4      OTHER     0     0xff         2            0      rcu_par_gp  
  6      OTHER     0        0        13            0 kworker/0:0H-kblockd  
  9      OTHER     0     0xff         2            0    mm_percpu_wq  
  10     OTHER     0        0       448            0     ksoftirqd/0
[..]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.