티스토리 뷰
각 서비스의 WAS에서 생성하는 객체의 크기와 생존 주기가 모두 다르고, 장비의 종류도 다양하다. WAS의 스레드 개수와 장비당 WAS 인스턴스 개수, GC 옵션 등은 지속적인 튜닝과 모니터링을 통해서 해당 서비스에 가장 적합한 값을 찾아야 한다.
stop-the-world
GC 실행을 위해서 멈춤
GC 튜닝이란 stop-the-world 시간을 줄이는 것
null 할당
System.gc() 메서드 실행 - 절대 호출하면 안됨
weak genreational hypothesis
unreachable
오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재
Young Generation: 새롭게 생성된, Minor GC
Old Generation: Young 살아남은 객체가 복사됨 Major(Full) GC 적게 발생
Allocation
Young Generation
Promotion
Old Generation
Permanent Generation
Permanent Generation: Method Area, Perm 영역, 영원히 남아 있는 곳은 아니다.
Old -> Young
Card Table
512 bytes chunk
write barrier
Young
Eden
Survivor 2개
Eden -> (Survivor <-> GC <-> Survivor) -> Old
bump-the-pointer
Eden 영역에 할당된 마지막 객체를 추적
Eden 영역의 맨 위 top에 있다.
새로운 객체의 크기만 확인해서 Eden 영역에 넣기만 하면된다.
빠른 메모리 할당
TLABs(Thread-Local Allocation Buffers)
Thread-Safe하기 위해서
Eden 영역에 lock 발생
lock-contention 성능은 매우 떨어진다..
이를 해결하기 위해, 스레드가 각각의 몫에 해당하는 Eden 영역의 작은 덩어리를 가질 수 있도록
Old
Serial GC
절대 사용하면 안됨
데스크톱 CPU 코어 하나, 성능 떨어짐...;
mark-sweep-compact
적은 메모리 & CPU 코어 개수 적을때
Parallel GC
Searial GC + 스레드 여러개
메모리 충분 & CPU 코어 개수 많을때
Throughput GC
Parallel Old GC(Parallel Compacting GC)
Old GC 알고리즘 다름
Mark-Summary-Compaction
Concurrent Mark & Sweep GC(이하 CMS)
Initial Mark: 살아있는 객체, 매우 짧다
Concurrent Mark: 참조가 끊긴 객체
Concurrent Sweep: 쓰레기 정리
stop-the-world 시간이 매우 짧다
CMS GC
Low Latency GC
단점1: 메모리와 CPU 더 많이 사용
단점2: Compaction 단계가 없다.
조각난 메모리가 많아서 stop-the-world 시간이 길다
G1(Garbage First) GC
바둑판 각 영역에 객체를 할당
꽉차면 다른영역에 할당하고 GC
가장 큰 장점은 성능
https://d2.naver.com/helloworld/1329
https://medium.com/@joongwon/jvm-garbage-collection-algorithms-3869b7b0aa6f
https://d2.naver.com/helloworld/329631
'공부' 카테고리의 다른 글
[thymeleaf] ${#lists.size(prods[0].comments)} (0) | 2021.12.09 |
---|---|
[Python] list to map (0) | 2021.12.08 |
[Java] reverse String (0) | 2021.12.07 |
[Shell] `echo 'test' | base64`; `echo 'dGVzdAo=' | base64 --decode` (0) | 2021.12.07 |
[Java] Base64 encode & decode & isBase64 (0) | 2021.12.07 |
- Total
- Today
- Yesterday
- 테슬라 리퍼럴 코드 혜택
- 테슬라 레퍼럴 적용 확인
- follower
- 책그림
- COUNT
- Bot
- 테슬라 리퍼럴 코드 생성
- 인스타그램
- 테슬라 레퍼럴 코드 확인
- 연애학개론
- 메디파크 내과 전문의 의학박사 김영수
- 테슬라 추천
- 김달
- 테슬라 크레딧 사용
- 어떻게 능력을 보여줄 것인가?
- wlw
- 테슬라
- 팔로워 수 세기
- 테슬라 레퍼럴
- 모델 Y 레퍼럴
- 모델y
- Kluge
- 할인
- 유투브
- 클루지
- 레퍼럴
- 개리마커스
- 테슬라 리퍼럴 코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |