피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Rust 기반 시스템 압력 인지형 탭 오케스트레이터 설계 기록
When Chrome Ate My RAM: Designing a Pressure-Aware Tab Orchestrator with Rust
AI 요약
Context
브라우저 탭 증가에 따른 RAM 점유율 상승으로 시스템 전체 성능 저하 발생. 단순 시간 기반의 탭 중단 방식은 실제 시스템 자원 상태와 사용자 작업 맥락을 반영하지 못하는 한계 존재.
Technical Solution
- Chrome Extension(MV3)과 Rust Native Host를 분리한 하이브리드 아키텍처 설계
- Chrome Native Messaging API를 통한 브라우저와 네이티브 프로세스 간 통신 구조
- RAM, CPU, Battery 상태를 결합하여 0-100점 사이의 가중치 기반 pressure_score 산출 모델 구축
- 현재 활성화된 탭과 호스트명, 윈도우 일치 여부를 분석하여 TTL을 차등 적용하는 Focus Clustering 기법 도입
- 고정 탭(Pinned), 소리 재생 탭, 보호 도메인 제외 등 안정성 확보를 위한 엄격한 Guardrails 설정
- 메모리 안전성과 저수준 시스템 지표 접근을 위해 Rust의 강력한 타입 시스템과 모듈형 구조 채택
Key Takeaway
불투명한 휴리스틱보다 명확하고 설명 가능한 결정론적 규칙이 사용자 신뢰와 시스템 안정성 측면에서 유리함. 관심사의 분리를 통해 브라우저 런타임 제약과 시스템 레벨 제어를 효율적으로 통합 가능함.
실천 포인트
시스템 자원 기반의 동적 제어가 필요할 경우, 브라우저 확장 프로그램 단독 구현보다 Native Host를 통한 커널/OS 지표 수집 구조를 검토할 것