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를 찾을수 있다.



+ Recent posts