linux에서 process 내의 thread들중 점유율 높은 thread를 차기 위한 방법
1. top 실행시 process 점유율 확인
pid 확인
2. 해당 pid로 cat /proc/$(pid)/stat 실행시 관련 정보확인.
http://blog.purewell.biz/3516501
Linux 2.6 / 출처: http://linux.die.net/man/5/proc
3. 해당 process 작성시 각 thread id를 알수 있어야 한다.
각 thread 실행시 아래의 방법으로 thread id를 출력 하였다.
1)
sysDBG(" thread id(%lu)\r\n", (unsigned long)pthread_self()); // 아주 큰수의 id값이 출력된다.
2)
#include <asm/unistd.h>
pid_t gettid(void)
{
return syscall(__NR_gettid);
}
sysDBG(" thread id(%d)\r\n", gettid()); // /proc/$(pid)/task/$(tid) 값으로 존재한다.
4. cd /proc/$(pid)/task 에서 위에서 출력된 (2)의 방법으로) id를 확인할수 있다.
cat */stat 실행하면 위의 2.에서 실행한 결과와 같은 의미의 filed 값들이 출력된다.
이중 실행시간을 많이 차지하는 thread id를 찾을수 있다.