Search Results for 'profiling'


1 POSTS

  1. 2009/04/29 어떻게하지;; - 2 by 발당 (1)

어떻게하지;; - 2

(요약)
메모리 8G짜리 컴퓨터를 사서 지난번 문제를 해결했다. 그런데 20만라인 짜리 프로그램이 이번에는 5시간 돌다가 무한루프에 빠지는 현상이 있다. Dynamic Profiler로 의심가는 지점을 고 있다. 30시간쯤 돌려두면 Profiling 결과는 나오겠지만 무한루프를 찾을 수 있을지는 모르겠다. 찾으려 했는데 Profiler를 켜면 메모리를 너무 많이 먹어서 또 돌지 않는다. JAVA Stack Dump화면을 캡쳐해서 무슨일이 일어나는지 추적할 수 밖에 없는것인가...

(풀버전)
오전9시:
교수님이 메모리 8G짜리 서버를 사주셔서 Learning 실험을 다시 시작했다. 그런데 이녀석이 5시간쯤 돌다가 무한루프에 빠지는 듯한 양상을 보인다. (CPU사용량이 100%인 상태에서 메모리사용량이 20시간동안 변하지 않으면 단순한 무한루프라고 봐야겠지?) 내부를 모르는 20만라인짜리 프로그램이 5시간 돌다가 맛이 가는 상황에서 코드를 보고 디버깅할수도 없고. 고민하다가 Dynamic Profiler를 설치해서 돌리고 있다. 모든 클래스를 감시하게 했더니 한 step learning하는데 2초 걸리던 것이 10분쯤 걸려서 몇개만 추려서 감시하도록 바꿨다. 대략 2배쯤 느려진 느낌이다. 10시간 후면 무한루프에 들어갈테고, 10시간쯤 더 돌린다음에 profile summary 보면 어디인지 찾을 수 있겠지. 컴퓨터를 감시하는 일을 컴퓨터에게 시킬 수 있다니. 좋은 세상이다.

오후2시:
프로파일링 돌려둔 프로그램이 메모리부족으로 뻗었다. 64bit머신에 8G물리메모리를 장착하고, JVM에 힙공간을 10G 할당했는데 죽다니!  'Ctrl-\'를 누르면 실행중에 스택을 덤프해준다고한다. 프로파일러 때고 다시 무한루프 빠질때까지 기다렸다가 스택덤프를 해봐야겠다. 그래도 VM위에서 돌아서 스택덤프를 실행중에 할 수 있어서 다행이다...

p.s 이걸 눈으로 보면서 디버깅해야 한다면 일주일정도 아무것도 못하겠지

Posted by 발당


Comments List

  1. 양치 2009/04/29 18:18 # M/D Reply Permalink

    그냥 대충 봐도 금방 안끝날꺼 같은데 [..] ㅋㅋㅋ

Leave a comment

블로그 이미지

정착

- 발당

Notices

  1. Info

Calendar

«   2010/03   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

Site Stats

Total hits:
142799
Today:
57
Yesterday:
117