[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경) - #2

Open
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing
Open

[KAZAA-3046] kube java 에이전트 힙 사이징 정책 개선 — 차트 4템플릿 (operator#15 동일 변경)#2
jaeeyoungkim wants to merge 1 commit into
masterfrom
feature/KAZAA-3046-heap-sizing

Conversation

@jaeeyoungkim

Copy link
Copy Markdown
Collaborator

배경 (KAZAA-3046 / KAZAA-2959 타깃 1)

kube java 에이전트(master/node)의 힙 사이징 정책 개선 — whatap-operator PR과 동일 변경의 helm 차트 반영입니다: whatap/whatap-operator#15

현행 Xms=Xmx=limit×45% 고정 선할당은 live heap 실측(44~57MB) 대비 3배 이상을 상시 커밋해 RSS ~83%를 만들고, VmHWM이 limit 대비 여유 없이 붙어 OOMKilled 재발 위험이 있습니다(KAZAA-2959 실측, exitCode 137 실증). 상세 근거·트레이드오프·A/B 실측 수치는 operator PR 본문 참조.

변경 내용

4개 템플릿의 entrypoint 힙 사이징 블록 동일 변경 (JVM 기동 정책만, 수집 로직 무변경):

  • charts/whatap-operator/templates/agent-master-configmap.yaml
  • charts/whatap-operator/templates/agent-node-configmap.yaml
  • charts/kube/templates/configmap-master.yaml
  • charts/kube/templates/configmap-node.yaml

핵심: Xmx=45%×limit 유지, Xms만 Xmx/4로 분리 + G1 힙 반환 유도(MinHeapFreeRatio=15/MaxHeapFreeRatio=40/G1PeriodicGCInterval=15min) + 상한 하이진(MaxMetaspaceSize=96m, ReservedCodeCacheSize=64m).

차트 버전 bump: whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2. (tgz 패키징/index 갱신은 operator_build.md 절차대로 릴리스 시점에 수행 — 이 PR엔 포함하지 않음)

검증

  • helm template 렌더 정상 (heapinit 4회 렌더 확인, 두 차트 모두)
  • dgx-llm A/B 실측 + emit 패리티 게이트(KAZAA-2960 하네스) PASS — operator PR 본문 참조
  • 기동 정책 A/B 요약: full GC 후 RSS 291→199MiB(-92.7MiB, -31.8%), heap committed 158→70MiB, VmHWM/limit master 88.8%→76.6% · node 96.3%→80.0%, GC pause 합계 1.18%→1.80%(개별 pause는 단축, Full GC 0), 동일윈도 패리티 diff PASS(FAIL 0)

관련: KAZAA-3046

whatap-operator 1.9.6→1.9.7, kube 1.13.1→1.13.2.
4개 entrypoint 템플릿 동일 변경. 상세 근거는 whatap-operator PR 참조.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jaeeyoungkim