개발자로 생활한지는 꾀 됬는데..
cpu 100치는 현상은 항상 당황스럽다..
개발시 나오면 찾기 쉬우나 사이트에서 일어나는 현상이면..ㅠ
사실 생각보다 많이 당해보진 않았다. ㅎ
이런 현상 발생하면 큰일난다 ㅋㅋ 서버보안을 담당중이라..
여튼 프로세스가 100치는것 까진 쉽게 알아낼 수 있다 . 작업관리자만 봐도..
process explorer를 봐도..
하지만 어느 스레드때문에 발생하는건지는 스레드마다 호출스택 다 뒤져서 확인하는 수밖에 없는줄 알았다....
근데 windbg의 무한한 기능중에 좋은 기능이 있어 소개한다.
!runaway
아래와 같은 스레드를 두개를 돌리는 프로세스를 windbg로 실행시켰다. 물론 cpu는 ThreadFunc 스레드에 의해서 100을 쳤다.
이상황에서 windbg에서 !runaway를 실행하였다.
스레드에 대한 cpu 점유 시간을 보여주고 잇다. cpu 점유시간이 제일 높은 스레드가 cpu 사용량이 많은 스레드이므로 위에서는 1번 스레드임을 알수 있다. 1번 스레드의 콜스택을 살펴보니 역시 ThreadFunc이 있음을 확인할 수 있다.^^
개발자의 삶은 정말 대단한거 같습니다.
보내주신 스달 잘 받았습니다~
아이들에게 도움을 주셔서 진심으로 감사합니다!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @kochun! You received a personal award!
Click here to view your Board
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @kochun! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit