자바로 서버 애플리케이션을 작성했는데, 메모리 누수 현상이 발생하는 듯합니다. 전체 시스템 메모리가 바닥 나지는 않는데, jvm이 프로세스 또는 쓰레드당 할당해주는 힙 메모리를 다 써버리는것 같습니다. jvm에서의 메모리 관리 문서, 관련 툴, 디버깅 방법 등의 정보 아시는분 계시면 도움 부탁드립니다.
검색해보니 J2SE 5.0 부터는 jmap이라는 tool이 experimental로 들어갔더군요...
제 생각에는 -verbose:gc 옵션이 유용할 듯 합니다.
참고로, 디버깅, 프로파일링 spec인 JVMDI, JVMPI 에는 메모리 관련 interface가 없습니다.
코더에서 프로그래머까지
저도 메모리 관련 문제 때문에 문제를 좀 겪었었는데,
http://kr.sun.com/developers/tech_docs/wireless_web06/wireless01.html
위 글이 많은 도움이 되었습니다.
위글을 참조하여 옵션 설정 하시면 최소한 어느 부분에서 메모리가 부족한지는 알 수 있더군요.
주제와 좀 동떨어진듯한 느낌도 들긴 하지만....... 그래도 많은 도움 되었으면 합니다.
JCONSOLE 은 윈도우 환경에서 실행하시구여. JCONSOLE PID(프로세스ID: 숫자 있죠?) 그러면 MEMORY LEAK 인지 확인 할수 있습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
-verbose:gc 옵션 어떨까요
검색해보니 J2SE 5.0 부터는 jmap이라는 tool이 experimental로 들어갔더군요...
제 생각에는 -verbose:gc 옵션이 유용할 듯 합니다.
참고로, 디버깅, 프로파일링 spec인 JVMDI, JVMPI 에는 메모리 관련 interface가 없습니다.
코더에서 프로그래머까지
코더에서 프로그래머까지
sun.com 에 괜찮은 글이 있네요.
저도 메모리 관련 문제 때문에 문제를 좀 겪었었는데,
http://kr.sun.com/developers/tech_docs/wireless_web06/wireless01.html
위 글이 많은 도움이 되었습니다.
위글을 참조하여 옵션 설정 하시면 최소한 어느 부분에서 메모리가 부족한지는 알 수 있더군요.
주제와 좀 동떨어진듯한 느낌도 들긴 하지만....... 그래도 많은 도움 되었으면 합니다.
J2K 1.6 부터 JCONSOLE 이 있습니다.
JCONSOLE 은 윈도우 환경에서 실행하시구여.
JCONSOLE PID(프로세스ID: 숫자 있죠?)
그러면 MEMORY LEAK 인지 확인 할수 있습니다.
댓글 달기