자바 1.8에서 gc 로그 설정을 잘 해야 한다. 그냥 파일에 출력만 하기로 결정한다면 큰 이슈가 발생할 수 있다.
즉 gc로그를 jvm에서 저장하고 있기 때문에 jvm에 크게 영향을 줄 수 있다.
kafka 서버의 gc로그를 간단히 설정한 결과는 다음과 같다. 5G의 메모리가 저장되어 있다.
$ cp /dev/null kafkaServer-gc.log
cp: overwrite `kafkaServer-gc.log'? y
$ ls -al kafkaServer-gc.log
-rw-r—r— 1 kafka kafka 0 1월 12 10:42 kafkaServer-gc.log
$ ls -al kafkaServer-gc.log
-rw-r—r— 1 kafka kafka 5727854571 1월 12 10:43 kafkaServer-gc.log
재시작을 해보면 gc 로그 크기만큼 jvm메모리가 변경되어 있다.
따라서 jvm에서 gc로그를 특정 크기로 여러 개의 파일로 설정해야 한다.
'java core' 카테고리의 다른 글
[펌] java8의 parrallel stream 좋은 설명 (0) | 2018.03.08 |
---|---|
[java] Date를 GMT스타일(is8601)로 변환하는 방법 - 또는 그 반대로 변환 방법 예제 (0) | 2018.01.19 |
[java] jvm의 GC 옵션 설정하기 (0) | 2018.01.12 |
java visualvm의 self time 설명 (0) | 2018.01.10 |
[java] Exception in thread "main" java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class 해결하기 (0) | 2017.04.27 |