[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-04-30 22:42:02 +09:00
parent 0bd4f19e38
commit c36c0644a1
4888 changed files with 18470 additions and 18602 deletions
@@ -1,10 +1,10 @@
---
id: P-REINFORCE-AUTO-50957B
id: [[P-Reinforce]]-AUTO-50957B
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - Mark-Sweep-Compact(메이저 GC)"
github_commit: "[P-Reinforce] Continuous Worker - [[Mark-Sweep]]-Compact(메이저 GC)"
---
# [[Mark-Sweep-Compact(메이저 GC)]]
@@ -27,9 +27,9 @@ github_commit: "[P-Reinforce] Continuous Worker - Mark-Sweep-Compact(메이저 G
* 살아있는 객체를 새 위치로 복사한 뒤, 해당 객체들을 가리키던 모든 포인터(참조)를 새로운 주소로 일일이 업데이트해야 하므로 매우 비용이 큰 작업입니다 [11, 14, 16].
* 이러한 높은 처리 비용 때문에 매 수집 주기마다 실행되지 않으며, 특정 조건(예: -Xcompactgc 옵션 활성화, 할당할 충분한 여유 공간 부족, 공간 단편화 심화 등)에 따라 선택적이고 제한적으로 수행됩니다 [6, 16, 17].
* **성능 최적화(Optimization) 기법**
* 메이저 GC의 마크-스위프-컴팩트 작업은 다량의 데이터를 스캔해야 하므로 애플리케이션의 실행을 긴 시간 동안 멈추게(Stop-the-world) 할 수 있습니다 [2, 18].
* 이를 방지하고 지연 시간(Latency)을 최소화하기 위해, V8의 최신 GC(Orinoco) 및 특정 JVM 정책은 작업을 여러 번 나누어 수행하는 점진적 마킹(Incremental marking)과 힙 페이지의 청소를 지연시키는 지연 스위핑(Lazy sweeping) 기법을 사용합니다 [18-21].
* **성능 최적화([[Optimization]]) 기법**
* 메이저 GC의 마크-스위프-컴팩트 작업은 다량의 데이터를 스캔해야 하므로 애플리케이션의 실행을 긴 시간 동안 멈추게([[Stop-the-world]]) 할 수 있습니다 [2, 18].
* 이를 방지하고 지연 시간(Latency)을 최소화하기 위해, V8의 최신 GC([[Orinoco]]) 및 특정 JVM 정책은 작업을 여러 번 나누어 수행하는 점진적 마킹([[Incremental Marking]])과 힙 페이지의 청소를 지연시키는 지연 스위핑(Lazy sweeping) 기법을 사용합니다 [18-21].
* 더 나아가 애플리케이션의 메인 스레드와 여러 헬퍼 스레드를 동시에 활용하는 병렬(Parallel) 및 동시(Concurrent) 처리 기법을 적용하여 전체 애플리케이션의 일시 정지 시간을 획기적으로 줄이고 있습니다 [22-25].
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
@@ -37,8 +37,8 @@ github_commit: "[P-Reinforce] Continuous Worker - Mark-Sweep-Compact(메이저 G
- **정책 변화:** Programming & Language 분야의 자동 자산화 수행.
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[Garbage Collection]], Old Generation/Space, Memory Fragmentation, [[Incremental Marking]]
- **Projects/Contexts:** V8 Engine (JavaScript), JVM (Java Virtual Machine), Orinoco Garbage Collector
- **Related Topics:** [[Garbage Collection]], Old Generation/Space, [[memory]] Fragmentation, [[Incremental Marking]]
- **Projects/Contexts:** [[V8 Engine]] ([[JavaScript]]), JVM (Java Virtual Machine), Orinoco Garbage Collector
- **Contradictions/Notes:** 소스 자료 전반에 걸쳐 큰 모순은 존재하지 않습니다. 다만, 컴팩팅(Compacting) 작업은 메모리 파편화를 완전히 해결하는 훌륭한 방법이지만 V8과 JVM 두 환경 모두에서 매우 무겁고 값비싼(expensive) 동작으로 공통되게 취급되며, 항상 실행되지 않고 철저한 휴리스틱이나 임계조건에 의해 선택적으로 발동된다는 점이 강조됩니다 [6, 16, 17].
---