AX Code 받기 · 무료문서

이 페이지는 영어 문서의 번역입니다. 명령, 식별자, 예제는 그대로입니다. 런타임 7.24.4 · SDK 2.6.7. 영어 원문

메모리 사용

상태: 현재

범위: 현재 상태

최종 검토: 2026-09-13

담당: ax-code 런타임

AX Code는 언어 서버, 저장소 빌드, 브라우저, 로컬 모델 런타임과 머신을 나눕니다. TypeScript 서버나 Rust 분석기는 AX Code 백엔드보다 메모리를 더 쓸 수 있습니다. 그 프로세스는 코드 분석을 제공합니다. 음성 서비스가 아닙니다. 프로세스 RSS를 더하면 공유 페이지를 두 번 이상 셀 수 있습니다.

프로파일

AX_CODE_MEMORY_PROFILE은 auto(기본값), low, normal을 받습니다. auto에서는 물리 RAM이 최대 8 GiB라고 보고하는 호스트가 low를 고르고, 그 외 호스트는 normal을 고릅니다. 잘못된 값은 자동 감지를 사용합니다. 감지는 여유 RAM이나 컨테이너 메모리 한도가 아니라 물리 호스트 RAM을 사용합니다. 제약이 있는 VM이나 컨테이너에서는 필요할 때 low을 명시적으로 고릅니다. AX Code를 시작하기 전에 변수를 설정합니다. 이미 실행 중인 백엔드를 다시 구성하지는 않습니다.

AX_CODE_MEMORY_PROFILE=low ax-code

PowerShell:

$env:AX_CODE_MEMORY_PROFILE = "low"
ax-code
동작 보통 낮음
추론적 언어 서버 시작과 읽기 예열 AX_CODE_LSP_PREWARM=1로 선택 예열 변수가 설정되어 있어도 건너뜀
LSP 클라이언트별 이전 소스 텍스트 캐시 유지 내용 기준 16 MiB 유지 내용 기준 4 MiB
동시 LSP 초기화 기존 서버 스케줄 백엔드 프로세스당 한 번에 하나씩 초기화
동시 의미 연산 기존 서버 예산 백엔드 프로세스당 대기 중인 의미 연산 두 개와 기존 서버 예산
정상인 유휴 언어 서버 기존 수명 주기 유휴 5분 뒤 종료 대상, 약 1분에 한 번 확인

두 프로파일 모두 언어 서버는 기본적으로 필요할 때 시작합니다. 시작과 일반적인 파일 읽기는 추론적 의미 예열을 일으키지 않습니다. 명시적인 의미 탐색, 진단, 색인 작성은 필요한 분석을 여전히 시작하므로, 첫 의미 요청은 더 오래 걸릴 수 있습니다. 여유가 있는 호스트에서 추론적 시작과 읽기 예열을 되돌리려면 시작 전에 두 변수를 모두 설정합니다.

AX_CODE_MEMORY_PROFILE=normal AX_CODE_LSP_PREWARM=1 ax-code

정확한 값 1만 추론적 예열을 켭니다. low은 항상 억제합니다. 이 설정이 기존 서버를 종료하지는 않으며, LSP 시작을 전면 금지하지도 않습니다. 진단이 필요한 편집과 명시적인 의미/색인 작업은 여전히 언어 서버를 사용합니다. 낮음 모드의 유휴 회수는 별개입니다.

소스 캐시에는 항목 1,000개 한도도 있습니다. 계산에는 보수적인 문자열/키 여유가 포함됩니다. V8 힙이나 RSS 한도가 아닙니다. 들어가지 않는 파일도 언어 서버와 현재 내용 전체를 동기화합니다. 캐시에서 내보내도, 요청이 필요할 수 있는 동안에는 문서를 닫지 않습니다.

낮음 모드는 분석을 건너뛰지 않고 작업을 대기열에 넣습니다. 처음 사용하거나 유휴 종료 뒤에 사용하면 더 오래 걸릴 수 있습니다. 선택되었거나 대기 중인 클라이언트, 대기 중인 하위 RPC, 진단 대기는 유휴 종료에서 보호됩니다. 시간이 초과된 요청은 서버 쪽 작업을 계속 돌릴 수 있습니다. 대기 중인 연산이 두 개라고 언어 서버 안의 계산이 두 개뿐이라는 보장은 아닙니다. 유휴 회수 뒤에는 진단 목록이 저하된 것으로 표시됩니다. 파일 하나를 다시 시작한다고 이전 작업 공간 전체를 다룬다는 증명이 되지 않기 때문입니다.

이 한도는 각 AX Code 프로세스 안에 적용됩니다. 전체 RAM을 제한하거나, 별도의 AX Code 인스턴스를 조율하거나, 언어 서버 힙을 제한하거나, 컴파일러/브라우저/로컬 모델을 제어하지는 않습니다. 모델 선택, 필요한 프롬프트 컨텍스트, 검증 명령은 바뀌지 않습니다.

세션과 증거 보존

TUI는 보고 있는 세션의 무거운 대화 기록 이벤트를 유지합니다. 비활성 세션은 요약, 상태, 대기 중인 승인/질문을 남기고, 열면 SQLite에서 저장된 기록을 다시 불러옵니다. 일반 표시 창은 메시지 100개와 직렬화 페이로드 예산 16 MiB입니다. 오래된 완료 메시지를 먼저 놓습니다. 가장 새로운 나눌 수 없는 메시지와 복구된 Undo/Restore 기록은 부드러운 예산을 넘을 수 있습니다. TUI는 표시를 보여 줍니다. 이것은 투영 한도이지, 지속되는 세션 기록이나 모델 컨텍스트의 한도가 아닙니다.

V8 힙이 하드 한도에 가까워지면 대화 기록 예산이 자동으로 좁아집니다. 힙 사용 90%에서 바닥 2 MiB까지 내려가, 프로세스가 FatalProcessOutOfMemory에 닿기 전에 유지 집합을 줄입니다. 80%를 넘으면 TUI는 /compact나 다시 시작을 제안하는 경고도 보여 줍니다. 압력은 전체 GC 뒤에 풀리지만, 이미 내보낸 기록은 다시 불러오기 전까지 사라진 상태입니다.

부모 메시지보다 먼저 도착한 부분은 제한된 대기 영역(메시지 ID 128개 / 1 MiB)을 사용합니다. 대기 내용을 놓아야 하면 TUI는 저장된 기록에서 다시 불러오기를 제안합니다. 내보낸 메시지의 늦은 이벤트가 고아 부분을 영구히 다시 만들 수는 없습니다.

증거 캐시의 기본값은 제한된 메모리입니다(인스턴스당 항목 128개 / 직렬화 값 4 MiB). RocksDB는 선택으로 남습니다. 캐시 백엔드만 바꾼다고 모델 도구 호출이 줄지는 않습니다. 증거 캐시를 보십시오.

백그라운드 명령 출력

읽지 않은 백그라운드 출력은, 끝난 셸마다 수 메가바이트 JavaScript 문자열을 유지하는 대신 비공개 일시 파일을 사용합니다. 각 파일은 2 MiB UTF-8 링입니다. 그 한도를 넘는 가장 오래된 읽지 않은 출력은 버려지고 표시됩니다. 링 파일은 최대 32개이며 프로세스당 최대 64 MiB를 예약합니다. 디스크 슬롯이 가득 차면 가장 오래된 끝난 스풀이 만료될 수 있습니다. 활성 셸의 소유권은 내보내지 않습니다. 읽기는 유지된 읽지 않은 출력을 조금씩 반환하고 그 디스크 슬롯을 놓습니다.

레지스트리는 세션당 활성 셸 16개, 프로세스당 32개를 허용하고, 끝난 기록은 세션당 최대 16개, 프로세스당 64개를 유지합니다. 끝난 출력은 30분 뒤에 만료됩니다. 접근할 때와 약 1분에 한 번 확인합니다. 명령/설명 목록은 8 KiB / 1 KiB로 잘린 미리보기입니다. 실행된 명령은 바뀌지 않습니다. 관찰자 재생은 셸당 64 KiB와 기록 128개, 프로세스 전체 바이트 예산 2 MiB라는 별도 한도가 있습니다. 불완전한 재생은 표시됩니다.

bash_output은 실제 프로세스 종료 상태와 따로 출력 무결성을 보고합니다. 버려졌거나, 만료되었거나, 읽을 수 없는 출력은 명령이 코드 0으로 끝났더라도 불완전한 검증 증거입니다. 출력 필터를 써도 이 알림은 보입니다. 기록이 없다는 것은 이미 소비되었거나 내보내졌다는 뜻일 수 있습니다. 출력을 사용할 수 없다고 검사가 통과했다는 증거는 아닙니다.

파일은 POSIX에서 비공개 프로세스 소유의 임시 디렉터리(0700)와 0600 파일을 사용합니다. 읽기, 세션 제거, 보존 정리, 정상적인 프로세스 종료가 소유한 파일을 놓습니다. 스풀은 충돌에도 남는 세션 저장소가 아닙니다. 강제 종료나 충돌은 비공개 임시 디렉터리를 남길 수 있습니다. 프로세스 사이를 자동으로 청소하지는 않으므로, 64 MiB 한도는 현재 프로세스를 말하며 쌓인 충돌 잔여물을 말하지 않습니다. 파일 시스템 정리 오류는 보고되며, 실패한 파일의 할당량 예약을 풀어 주지 않습니다. 동기적이고 제한된 파일 I/O는 무한한 쓰기 대기열을 피하지만, 느린 임시 파일 시스템에서는 지연을 더할 수 있습니다.

작업량 고르기

제약이 있는 호스트에서는 먼저 클라우드 공급자, 활성 코딩 세션 하나, 작은 저장소를 사용합니다. 큰 빌드와 추가 에이전트 세션은 머신에 여유가 있을 때만 실행합니다. 로컬 추론에는 가중치, KV 캐시/컨텍스트, 런타임 오버헤드를 위한 별도 예산이 필요합니다. 클라우드 공급자용 하드웨어 안내는 여기에 적용되지 않습니다.

일반적인 사용에는 패키지된 CLI를 사용합니다. pnpm run dev는 시작과 모듈 적재 비용이 다른 기여자 소스 작업 흐름입니다. Activity Monitor나 플랫폼 프로세스 모니터에서 AX Code를 언어 서버 및 빌드 자식과 함께 살펴봅니다. 캐시 한도를 낮춘다고 물리 메모리의 고정된 감소가 확립되지는 않습니다.

메모리 변경에는 결정적인 보존과 의미 동등성 시험이 있습니다. 물리 8 GB Mac에서의 부하 시험으로 자격을 확인하지는 않았습니다. 낮음 모드는 임의의 프로젝트가 8 GB 머신에 들어간다는 보장이 아닙니다.