jvm 메모리 사용량을 모니터링할 수 있는 방법이 있나요?

r2nato의 이미지

자바로 서버 애플리케이션을 작성했는데, 메모리 누수 현상이 발생하는 듯합니다.
전체 시스템 메모리가 바닥 나지는 않는데, jvm이 프로세스 또는 쓰레드당 할당해주는 힙 메모리를 다 써버리는것 같습니다. jvm에서의 메모리 관리 문서, 관련 툴, 디버깅 방법 등의 정보 아시는분 계시면
도움 부탁드립니다.

hultul의 이미지

검색해보니 J2SE 5.0 부터는 jmap이라는 tool이 experimental로 들어갔더군요...

제 생각에는 -verbose:gc 옵션이 유용할 듯 합니다.

참고로, 디버깅, 프로파일링 spec인 JVMDI, JVMPI 에는 메모리 관련 interface가 없습니다.

코더에서 프로그래머까지

코더에서 프로그래머까지

lck7141의 이미지

저도 메모리 관련 문제 때문에 문제를 좀 겪었었는데,

http://kr.sun.com/developers/tech_docs/wireless_web06/wireless01.html

위 글이 많은 도움이 되었습니다.

위글을 참조하여 옵션 설정 하시면 최소한 어느 부분에서 메모리가 부족한지는 알 수 있더군요.

주제와 좀 동떨어진듯한 느낌도 들긴 하지만....... 그래도 많은 도움 되었으면 합니다.

정일철의 이미지

JCONSOLE 은 윈도우 환경에서 실행하시구여.
JCONSOLE PID(프로세스ID: 숫자 있죠?)
그러면 MEMORY LEAK 인지 확인 할수 있습니다.