본문 바로가기

GC2

AWS에서 Tomcat에 Spring 서버 실행하기(오류 해결 부분) 1. 오류 확인 AWS Backend 서버를 넣어둔 instance가 작업하기 힘들 정도로 느려졌다. Tomcat을 start하여 Spring 서버를 띄우려고 하니 계속 반복되는 로그만 찍힌다. 로그 확인할 때 사용한 명령: $ sudo tail -f logs/catalina.out 로그들을 확인해보니 GC 설정을 바꿔주라는 오류 발견 명령어 $ top으로 실행중인 프로세스들을 확인해보니 Tomcat 실행에 관련된 프로세스들이 메모리의 거의 대부분(99퍼센트)를 잡아먹고 있었다. 좀비 프로세스들이 존재하였다. 2. 원인 파악 메모리 부족 - 로그에서 나왔듯이 ParalleGCthreads 설정을 바꿔주어 메모리 확보가 필요 3. 해결 -GC 설정하는 부분 참고: http://soul.tistory.com.. 2019. 12. 4.
가비지 컬렉션(Garbage Collection, GC) garbage collection이란 메모리 관리 기법 중 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능 garbage collection 사용 장점유효하지 않은 포인터 접근(이미 해제된 메모리에 대해 접근)하는 오류를 막을 수 있다.이중 해제(이미 해제된 메모리를 또다시 해제하는 버그)를 막을 수 있다.메모리 누수(더 이상 필요하지 않은 메모리가 해제되지 않고 남아있는 버그)를 막을 수 있다. 단점어떤 메모리를 해제할지 결정하는 데 비용이 든다.garbage collection이 일어나는 타이밍이나 점유 시간을 미리 예측하기 어렵다. 때문에 프로그램이 예측 불가능하게 일시적으로 정지할 수 있다.(실시간 시스템에 적합 X)할당된 메모리가 해제되는 시점을 알 .. 2019. 10. 27.