#1. Java Garbage Collection, 개념
https://d2.naver.com/helloworld/1329
- MinorGC(Young Generation; Eden -> Survivor), MajorGC(Old Generation, Permanent Generation)
- GC 종류
Serial GC, CPU 1개 짜리,
Parallel GC(Throughput GC), RAM 과 CPU 많을 때
Parallel Old GC(Parallel Compacting GC), JDK 5 update 6 부터 제공
Concurrent Mark & Sweep GC(이하 CMS GC)
G1(Garbage First) GC, 성능 우선(Young 과 Old 개념 없음), JDK 7 부터 제공
#2. Java Garbage Collection Minitoring, 모니터링
http://helloworld.naver.com/helloworld/helloworld/6043
Heap Dump
http://book.naver.com/bookdb/book_detail.nhn?bid=6654751
#3. 튜닝
https://d2.naver.com/helloworld/37111
FullGC 줄이기
Old
상기 내용들은, GC 개념부터 모니터링과 튜닝을 다루는데..
JVM 을 다루는 모든 곳에서 한 번 쯤 생각해 볼만한 문제임.
개발자 입장에서는 서버 튜닝과 이클립스 튜닝이 있겠는데,
이클립스 튜닝은 eclipse.ini 설정 튜닝이니까 관심있겠지만..
서버 튜닝은 전문 엔지니어에게 맡기는 것이 안전.. ㅠ.
개발자 입장에서는 FullGC 가 빈번하게 일어나지 않도록,
되도록이면 로컬 단위로 Collection 을 사용,
또는 안전을 위해서 .jsp 나 Class method 에 try ~ catch ~ finally 로 묶고
Collection 을 초기화 하는 작업이 필요.
finally 부분에 Collection 을 clear() 한 다음에 null 을 세팅해 주면
서버에 세팅된 GC 룰에 의해 처리가 됨.
'Server Oriented > Java & JSP' 카테고리의 다른 글
Log4J 설정시 WAS(AS)의 시스템 로그에 쌓거나 말거나.. (1) | 2012.08.30 |
---|---|
QueryRunner 로 PreparedStatement 다루는 방법 (0) | 2012.07.09 |
forward, include (1) | 2012.06.18 |
JDK1.4.x 와 Jeus4.2 조합에서 JDK1.6.x 와 Jeus6 조합으로 업그레이드 이후, Exception 처리 오류 (0) | 2012.03.27 |
request 개체의 getRequestURL() 과 getRequestURI() 의 차이 (0) | 2012.02.27 |