Dapatkan AX Code · GratisDokumentasi

Halaman ini diterjemahkan dari dokumentasi bahasa Inggris. Perintah, pengenal, dan contoh tidak diubah. Runtime 7.24.4 · SDK 2.6.7. Sumber bahasa Inggris

Pemakaian memori

Status: Saat ini

Cakupan: kondisi terkini

Terakhir ditinjau: 2026-09-13

Pemilik: runtime ax-code

AX Code berbagi mesin dengan server bahasa, build repositori, peramban, dan runtime model lokal apa pun. Server TypeScript atau penganalisis Rust dapat memakai lebih banyak memori daripada backend AX Code sendiri. Proses itu menyediakan analisis kode; mereka bukan layanan suara. Menjumlahkan RSS proses dapat menghitung halaman bersama lebih dari sekali.

Profil

AX_CODE_MEMORY_PROFILE menerima auto (bawaan), low, atau normal. Pada auto, host yang melaporkan paling banyak 8 GiB RAM fisik memilih low; host lain memilih normal. Nilai yang tidak valid memakai deteksi otomatis. Deteksi memakai RAM fisik host, bukan RAM bebas atau batas memori kontainer; pilih low secara eksplisit di VM/kontainer yang terbatas bila perlu. Setel variabel sebelum memulai AX Code; ia tidak mengonfigurasi ulang backend yang sudah berjalan.

AX_CODE_MEMORY_PROFILE=low ax-code

PowerShell:

$env:AX_CODE_MEMORY_PROFILE = "low"
ax-code
Perilaku Normal Rendah
Mulai server bahasa spekulatif dan pemanasan baca Ikut serta dengan AX_CODE_LSP_PREWARM=1 Dilewati, termasuk bila variabel pemanasan disetel
Cache teks sumber sebelumnya per klien LSP Akuntansi konten tertahan 16 MiB Akuntansi konten tertahan 4 MiB
Inisialisasi LSP bersamaan Penjadwalan server yang sudah ada Satu inisialisasi pada satu waktu per proses backend
Operasi semantik bersamaan Anggaran server yang sudah ada Dua operasi semantik yang ditunggu per proses backend, plus anggaran server yang sudah ada
Server bahasa menganggur yang sehat Siklus hidup yang sudah ada Layak dimatikan setelah lima menit menganggur, diperiksa sekitar sekali per menit

Server bahasa mulai sesuai permintaan secara bawaan pada kedua profil. Mulai dan pembacaan berkas biasa tidak memicu pemanasan semantik spekulatif. Navigasi semantik, diagnostik, dan pengindeksan yang eksplisit tetap memulai analisis yang diperlukan, jadi permintaan semantik pertama dapat lebih lama. Untuk memulihkan mulai spekulatif/pemanasan baca pada host dengan ruang yang cukup, setel kedua variabel sebelum memulai:

AX_CODE_MEMORY_PROFILE=normal AX_CODE_LSP_PREWARM=1 ax-code

Hanya nilai persis 1 yang mengaktifkan pemanasan spekulatif; low selalu menekannya. Server yang sudah ada tidak dihentikan oleh pengaturan ini, dan ini bukan larangan global pada mulai LSP: suntingan yang membutuhkan diagnostik serta operasi semantik/pengindeksan yang eksplisit tetap memakai server bahasa. Reklamasi menganggur mode rendah tetap terpisah.

Cache sumber juga memiliki batas 1,000 entri. Akuntansinya mencakup kelonggaran string/kunci yang konservatif; itu bukan batas heap V8 atau RSS. Berkas yang tidak muat tetap menyelaraskan seluruh isi saat ini dengan server bahasa. Penggusuran cache tidak menutup dokumen selama permintaan mungkin membutuhkannya.

Mode rendah mengantre pekerjaan alih-alih melewatkan analisis. Pemakaian pertama atau pemakaian setelah mati karena menganggur dapat lebih lama. Klien yang dipilih/diantre, RPC dasar yang tertunda, dan tunggu diagnostik dilindungi dari mati karena menganggur. Permintaan yang waktu habis dapat meninggalkan pekerjaan sisi server tetap berjalan: dua operasi yang ditunggu tidak menjamin hanya dua komputasi di dalam server bahasa. Inventaris diagnostik ditandai menurun setelah reklamasi menganggur karena memulai ulang satu berkas tidak dapat membuktikan cakupan lengkap ruang kerja sebelumnya.

Batas ini berlaku di dalam setiap proses AX Code. Mereka tidak membatasi RAM total, mengoordinasikan instans AX Code yang terpisah, membatasi heap server bahasa, atau mengendalikan kompiler/peramban/model lokal. Pemilihan model, konteks prompt yang diperlukan, dan perintah verifikasi tetap tidak berubah.

Retensi sesi dan bukti

TUI menyimpan peristiwa transkrip yang berat untuk sesi yang sedang dilihat. Sesi tidak aktif mempertahankan ringkasan, status, dan persetujuan/pertanyaan tertunda; membukanya memuat ulang riwayat tersimpan dari SQLite. Jendela tampilan normal adalah 100 pesan dengan anggaran muatan terserialisasi 16 MiB. Pesan lengkap yang lama dilepas lebih dulu. Pesan tak terbagi yang terbaru dan riwayat Undo/Restore yang dipulihkan dapat melampaui anggaran lunak; TUI menampilkan indikator. Ini adalah batas proyeksi, bukan batas riwayat sesi yang tahan lama atau konteks model.

Bila heap V8 mendekati batas kerasnya, anggaran transkrip menyempit secara otomatis (hingga lantai 2 MiB pada pemakaian heap 90%) agar himpunan yang dipertahankan dilepas sebelum proses mencapai FatalProcessOutOfMemory; melewati 80% TUI juga menampilkan peringatan yang menyarankan /compact atau mulai ulang. Tekanan pulih setelah GC penuh, tetapi riwayat yang sudah digusur tetap hilang sampai dimuat ulang.

Bagian yang tiba sebelum pesan induknya memakai area tertunda yang dibatasi (128 ID pesan / 1 MiB). Jika konten tertunda harus dilepas, TUI menawarkan muat ulang dari riwayat tersimpan. Peristiwa terlambat untuk pesan yang digusur tidak dapat membuat ulang bagian yatim secara permanen.

Cache bukti bawaan ke memori terbatas (128 entri / 4 MiB nilai terserialisasi per instans). RocksDB tetap ikut serta; mengubah backend cache saja tidak mengurangi panggilan alat model. Lihat Cache bukti.

Keluaran perintah latar belakang

Keluaran latar belakang yang belum dibaca memakai berkas sementara privat alih-alih menahan string JavaScript multi-megabita untuk setiap shell yang selesai. Setiap berkas adalah cincin UTF-8 2 MiB; keluaran belum dibaca yang tertua di luar batas itu dibuang dan diberi label. Hingga 32 berkas cincin mencadangkan paling banyak 64 MiB per proses. Bila slot disk penuh, spool selesai yang tertua dapat kedaluwarsa; kepemilikan shell aktif tidak digusur. Pembacaan mengembalikan keluaran belum dibaca yang dipertahankan secara bertahap dan melepaskan slot disknya.

Registri mengizinkan 16 shell aktif per sesi dan 32 per proses, serta mempertahankan paling banyak 16 catatan selesai per sesi / 64 per proses. Keluaran selesai kedaluwarsa setelah 30 menit (diperiksa saat akses dan sekitar sekali per menit). Daftar perintah/deskripsi adalah pratinjau yang dibatasi 8 KiB / 1 KiB; perintah yang dieksekusi tidak berubah. Pemutaran ulang pengamat memiliki batas terpisah 64 KiB dan 128 catatan per shell, dengan anggaran bita 2 MiB seluruh proses; pemutaran ulang yang tidak lengkap diberi label.

bash_output melaporkan integritas keluaran secara terpisah dari status keluar proses yang sebenarnya. Keluaran yang dibuang, kedaluwarsa, atau tidak dapat dibaca adalah bukti verifikasi yang tidak lengkap bahkan bila perintah keluar dengan kode nol. Pemberitahuan ini tetap terlihat bila filter keluaran dipakai. Catatan yang hilang dapat berarti sudah dipakai atau digusur; keluaran yang tidak tersedia bukan bukti bahwa pemeriksaan lulus.

Berkas memakai direktori sementara milik proses yang privat (0700) dan berkas 0600 pada POSIX. Pembacaan, penghapusan sesi, pembersihan retensi, dan keluar proses normal melepaskan berkas yang dimiliki. Spool bukan penyimpanan sesi yang tahan runtuh. Penghentian paksa atau runtuh dapat meninggalkan direktori sementara privat; pemulungan lintas proses otomatis tidak diimplementasikan, jadi batas 64 MiB menggambarkan proses saat ini, bukan sisa runtuh yang menumpuk. Kesalahan pembersihan sistem berkas dilaporkan dan tidak membebaskan reservasi kuota berkas yang gagal. I/O berkas sinkron yang dibatasi menghindari antrean tulis tanpa batas tetapi dapat menambah latensi pada sistem berkas sementara yang lambat.

Memilih beban kerja

Untuk host yang terbatas, pakai penyedia cloud, satu sesi pengodean aktif, dan repositori kecil terlebih dahulu. Jalankan build besar dan sesi agen tambahan hanya bila mesin memiliki ruang. Inferensi lokal membutuhkan anggaran terpisah untuk bobot, cache KV/konteks, dan overhead runtime; panduan perangkat keras penyedia cloud tidak berlaku untuknya.

Pakai CLI terkemas untuk pemakaian biasa; pnpm run dev adalah alur kerja sumber kontributor dengan biaya mulai/pemuatan modul yang berbeda. Periksa AX Code bersama anak server bahasa dan build-nya di Activity Monitor atau pemantau proses platform. Batas cache yang dikurangi tidak menetapkan pengurangan tetap pada memori fisik.

Perubahan memori memiliki uji retensi deterministik dan kesetaraan semantik. Mereka belum dikualifikasi oleh uji beban pada Mac fisik 8 GB. Mode rendah bukan jaminan bahwa proyek sembarang akan muat pada mesin 8 GB.