내가 맡고 있는 시스템에 문제가 있었다.
나에게 오기전부터 한달에 한번씩 오류나면 재기동을 하면된단다...
내가 멀아나? 그냥 시키는 대로했지... ㅋ
그러나... 왠지 찜찜하다..
다음 오류부터 분석에들어갔다 ㅋ
heapdump 볼줄도 몰랐던 내가 하나하나 인터넷 뒤지고 벤더사 지원을 받아가며 막 뒤졌다
그러니 조금씩보이기 시작했다.
특정 객체가 메모리의 99%를 차지하며 죽더란말이지...
왜일까...??? 개발자에게 말해도 모르쇠요... 벤더사 물어봐도 모르쇠...
결국 두번째 덤프를 통해 개발자 코드에서 java 객체 생성후 reference를 남긴채 종료 된다는 것을 찾았다.
즉, 개발자들은 자원해제가 다 되었다고( 사용했던 객체는 모두 자원해제하였다고) 생각했지만 실제로 배열에 reference 변수들이 남아있었고, java garbage collector는 해당 자원들을 정리하지 않았던 것이였다.
날이 지날수록 점점 메모리에 쓰레기 자원만 늘어갔고, 결국 메모리 full이 발생했을 땐 (여기선 약 한달) 실제로 신규 접속정보를 저장할 공간을 할당할수 없는 상태가 되었다.
즉, ... connection fail...
모르는 운영자에겐 최선의 방법은 재기동일 뿐이다 ㅋㅋㅋ
이렇게 아무도 인정해주지 않는 곳에서 오늘 하루도 보람을 느낀다... ㅋㅋㅋ
iPhone 에서 작성된 글입니다.
나에게 오기전부터 한달에 한번씩 오류나면 재기동을 하면된단다...
내가 멀아나? 그냥 시키는 대로했지... ㅋ
그러나... 왠지 찜찜하다..
다음 오류부터 분석에들어갔다 ㅋ
heapdump 볼줄도 몰랐던 내가 하나하나 인터넷 뒤지고 벤더사 지원을 받아가며 막 뒤졌다
그러니 조금씩보이기 시작했다.
특정 객체가 메모리의 99%를 차지하며 죽더란말이지...
왜일까...??? 개발자에게 말해도 모르쇠요... 벤더사 물어봐도 모르쇠...
결국 두번째 덤프를 통해 개발자 코드에서 java 객체 생성후 reference를 남긴채 종료 된다는 것을 찾았다.
즉, 개발자들은 자원해제가 다 되었다고( 사용했던 객체는 모두 자원해제하였다고) 생각했지만 실제로 배열에 reference 변수들이 남아있었고, java garbage collector는 해당 자원들을 정리하지 않았던 것이였다.
날이 지날수록 점점 메모리에 쓰레기 자원만 늘어갔고, 결국 메모리 full이 발생했을 땐 (여기선 약 한달) 실제로 신규 접속정보를 저장할 공간을 할당할수 없는 상태가 되었다.
즉, ... connection fail...
모르는 운영자에겐 최선의 방법은 재기동일 뿐이다 ㅋㅋㅋ
이렇게 아무도 인정해주지 않는 곳에서 오늘 하루도 보람을 느낀다... ㅋㅋㅋ
iPhone 에서 작성된 글입니다.
'바람돌이 이야기' 카테고리의 다른 글
술을마셔따... (0) | 2011.02.24 |
---|---|
서현역 롯데리아... 안 가! (2) | 2011.02.09 |
잠이오지 않는밤 (0) | 2010.11.08 |
내가 아는이의 뽀~~옥씽 모습 (0) | 2010.07.10 |
[바람이] 뉴맥북 화이트 질럿습니다. @^-^@ (2) | 2010.03.11 |