
JVM heap은 멀쩡한데 왜 메모리가 터질까? — Docker 환경 네이티브 메모리 삽질기 (Part 2)
JVM 힙은 정상인데 컨테이너가 OOMKilled되는 원인을 네이티브 메모리에서 추적했습니다. 스트림 close 누락과 zlib Inflater 버퍼가 핵심이었고, 도구 조합으로 범인을 찾았습니다.

JVM 힙은 정상인데 컨테이너가 OOMKilled되는 원인을 네이티브 메모리에서 추적했습니다. 스트림 close 누락과 zlib Inflater 버퍼가 핵심이었고, 도구 조합으로 범인을 찾았습니다.

Docker 환경에서 힙은 멀쩡한데 메모리가 계속 늘어나는 원인을 추적한 글입니다. NMT로 JVM 내부를 확인했지만 실제 RSS와 차이가 있어 네이티브 메모리 문제를 의심했습니다.
중고 의류 디테일컷 자동 생성을 위해 VLM 대신 Detector와 규칙 기반 크롭을 선택했습니다.\n그 결과 공정 시간을 90% 줄이고 11만 개 상품에 일괄 적용했습니다.
![[코드가 환경을 모르는 구조 7/7] Variant와 스냅샷 캐시, 그리고 다섯 축의 총합](https://cdn.sanity.io/images/v31psllp/production/05ffda096002d40620c7bc75e64174185b7d8a1d-1684x1030.png)

테스트 인프라에서 variant와 스냅샷 캐시로 프로덕션의 분리를 그대로 재현하는 구조를 설명했습니다. 경계를 명확히 하면 교체 가능성이 높아지고 실험 속도도 빨라진다고 정리했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://cdn.sanity.io/images/v31psllp/production/84f3d9c344480bec28c26726a1ef04c0407b32cd-1684x1030.png)

실제 DB를 쓰는 통합 테스트가 dirty context로 컨테이너를 복제하며 느려지는 문제를 다루었습니다. Gradle BuildService로 컨테이너를 공유하고 모듈별 스키마를 분리하는 해법을 소개했습니다.
슬랙 기반 데이터 에이전트로 반복 분석 요청을 자동 처리하는 구조를 소개했습니다.정확도와 안전성을 위해 지식 체계, 서브 에이전트, 평가 루프를 함께 설계했습니다.

Dell Pro Max GB10 AI 워크스테이션의 구조와 실사용 성능을 검증한 리뷰였습니다. 로컬에서 70B급 모델을 빠르게 돌릴 수 있는 통합 메모리 기반 AI 노드로 소개했습니다.

비개발자가 AI와 사내 가이드를 활용해 생산성 측정 대시보드를 만든 과정을 공유했습니다. 리드타임 계산부터 서버 구축, 데이터 검증까지의 시행착오와 배운 점을 정리했습니다.

StarRocks에서 Resource Group으로 멀티테넌트 워크로드를 분류하고 CPU 우선순위를 조절한 운영 경험을 정리했습니다. 서비스 SLA가 필요한 경우에는 exclusive_cpu_cores와 주의점을 함께 적용했습니다.
AI 코딩 에이전트를 대규모로 평가하기 위한 멀티 에이전트 하네스 설계를 다뤘습니다. 마크다운 지침과 JSON Schema로 재현성을 확보하고 기능과 깊이를 분리해 채점했습니다.

Jib에서 Buildpacks로 옮긴 뒤 GraalVM Native Image까지 적용해 기동 시간을 11배 단축했습니다. AI로 메타데이터 반복 보완을 자동화해 운영 적용 가능성까지 높였습니다.


Claude Code 에이전트의 메모리 계층 구성을 비교 실험했습니다. 세션 캐시만 단독으로 쓸 때 정확도가 가장 크게 높아졌고, 외부 저장소는 오히려 성능을 떨어뜨렸습니다.