의미어라우터 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요청) 값 자체의 추가 튜닝은 미실시.