← 목록
기타 2026-07-31 3KB 읽기 3분

의미어라우터 GC 처방 소스 반영 (T172/T175 → 라이브 소스 편입)

개요

집사회 티켓 "라우터GC적용" — T171/T172(2026-07-31-crownyc-GC-마크스코프-강제GC-실측) 실측 처방을 의미어라우터_코어.한선(모델로드 루프)·의미어라우터서버.한선(요청 루프) 라이브 소스에 반영. 라이브 서버(PID 무접촉·정본 교체 없음) — 소스 수정 + 격리 컴파일/실행 검증까지만 수행.

무엇을 했는지

1. 의미어라우터_코어.한선 — 모델로드() 벌크로드 루프

  • T172 처방(2000줄 주기 문자열GC()) 그대로 삽입.
  • 라인 경계 판정 블록(i == n 또는 버퍼바이트읽기(버퍼,i)==10) 안에 라인카운트 누적 +
라인카운트 % 2000 == 0 조건에서 문자열GC() 호출.

2. 의미어라우터서버.한선 — 상주 서버 요청 루프

  • T175 판정(200요청 주기)을 신규 반영 — 접속 accept마다 요청카운트 증가,
요청카운트 % 200 == 0에서 문자열GC() 호출. TCP 소켓 핸들 누적 방지.

3. 검증 (격리 — 라이브 무접촉)

  • 소스+데이터 사본 /tmp/라우터GC적용/, /tmp/라우터GC_이전/에 복제.
  • CROWNY_STRICT=1 hanseonc_high 의미어라우터서버.한선 컴파일 → 경고 0건 (정상 케이스).
  • 임시포트(19793) 사본으로 crownyc run 기동 → 모델로드 완료 후 리슨 확인 →
실제 문장("결제 오류 났어") 송신 → 정상 라우팅 응답 확인 → 프로세스 종료.
  • 라이브 :9793(PID 2930) 및 libs/의미어라우터서버.toau는 전혀 건드리지 않음.

산출물

  • 신선 컴파일 toau: /tmp/라우터GC적용.toau (215,740B, CROWNY_STRICT 0경고)
  • 수정 소스(라이브 정본, 이미 반영됨):
  • /Users/ef/crowny-butler/libs/의미어라우터_코어.한선 (모델로드 GC 삽입)
  • /Users/ef/crowny-butler/libs/의미어라우터서버.한선 (요청루프 GC 삽입)
  • 격리 빌드 작업공간: /tmp/라우터GC적용/, /tmp/라우터GC_이전/
  • 사용자 배포 커맨드 (1줄 정리)

    bashcp /Users/ef/crowny-butler/libs/의미어라우터서버.toau /Users/ef/crowny-butler/libs/의미어라우터서버.toau.bak-GC적용전-$(date +%Y%m%d%H%M) && cp /tmp/라우터GC적용.toau /Users/ef/crowny-butler/libs/의미어라우터서버.toau && kickstart -kill gui/$(id -u)/org.crowny.의미어라우터서버ロ  # (실제 LaunchAgent 라벨로 kickstart 또는 수동 재시작)
    
    실제 kickstart 라벨은 launchctl plist 확인 후 사용 — 백업cp → 교체cp → kickstart 순서만 고정.

    잔여 이슈

    • 배포(교체·재기동)는 오너 판단 대기 — 본 티켓은 소스 반영+격리 검증까지.
    • GC 주기(2000줄/200요청) 값 자체의 추가 튜닝은 미실시.