[Linux 명령어] process의 thread정보 확인

> 서버 개발시에는 항상 스레드의 증가에 대해 고려를 해야한다. Linux 의 ps 명령어는 스레드 관련 문제시 빠른게 원인을 찾을 수 있도록 많은 옵션을 제공한다.

>>> 조회
# case 1 : 프로세스명으로 바로 조회
ps -ALF | grep {프로세스명}
# case 2 : 프로세스 번호로 조회
ps -aux | grep {프로세스명}
ps -p {프로세스PID} -T
>>>>>> description
– ‘e’ or ‘A’ : 모든 프로세스 선택
– ‘L’ : 스레드 정보인 LWP / NLWP 출력
– ‘f’ or ‘F’ : 보여질 수 있는 모든 정보 출력
>>> 결과확인
UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
root      1111  1110  1111  0   10 00:05 ?        00:00:00 ./service
root      1111  1110  1112  2   10 00:05 ?        00:00:00 ./service
root      1111  1110  1113  0   10 00:05 ?        00:00:00 ./service
root      1111  1110  1114  0   10 00:05 ?        00:00:00 ./service
>>>>>> description
– PID(Process ID) : 프로세스의 아이디
– PPID(Parent Process ID) : 부모 프로세스의 아이디
– LWP(Light Weight Process, is thread) : 스레드 고유아이디
– NLWP(Number Light Weight Process) : 해당 프로세스에서 동작하는 스레드의 총 갯수
ex) 위의 예에서 1111 ID의 프로세스는 총 10개의 thread가 동작한다.
>>> 스레드 정보 확인
strace -p {스레드ID : LWP}
>>>>>> description
– 스레드가 실행하는 시스템함수를 확인 할 수 있다.

댓글 남기기