Trang này được dịch từ tài liệu tiếng Anh. Lệnh, định danh và ví dụ giữ nguyên. Runtime 7.24.4 · SDK 2.6.7. Bản tiếng Anh
Mức dùng bộ nhớ
Trạng thái: Hiện tại
Phạm vi: trạng thái hiện tại
Xem xét lần cuối: 2026-09-13
Chủ sở hữu: môi trường chạy ax-code
AX Code dùng chung máy với máy chủ ngôn ngữ, bản dựng kho, trình duyệt và mọi môi trường chạy mô hình cục bộ. Một máy chủ TypeScript hoặc Rust analyzer có thể dùng nhiều bộ nhớ hơn chính backend AX Code. Các tiến trình đó cung cấp phân tích mã; chúng không phải dịch vụ giọng nói. Cộng RSS của tiến trình có thể đếm các trang dùng chung nhiều hơn một lần.
Hồ sơ
AX_CODE_MEMORY_PROFILE nhận auto (mặc định), low hoặc normal. Trong auto, một máy chủ báo tối đa 8 GiB RAM vật lý sẽ chọn low; các máy chủ khác chọn normal. Giá trị không hợp lệ dùng phát hiện tự động. Việc phát hiện dùng RAM vật lý của máy chủ, không phải RAM trống hay giới hạn bộ nhớ container; hãy chọn low một cách tường minh trong máy ảo hoặc container bị hạn khi cần. Đặt biến trước khi khởi động AX Code; nó không cấu hình lại một backend đang chạy.
AX_CODE_MEMORY_PROFILE=low ax-code
PowerShell:
$env:AX_CODE_MEMORY_PROFILE = "low"
ax-code
| Hành vi | Bình thường | Thấp |
|---|---|---|
| Khởi động máy chủ ngôn ngữ suy đoán và làm nóng trước khi đọc | Bật tùy chọn bằng AX_CODE_LSP_PREWARM=1 |
Bỏ qua, kể cả khi biến làm nóng trước được đặt |
| Bộ nhớ đệm văn bản nguồn trước đó cho mỗi máy khách LSP | Kế toán nội dung giữ lại 16 MiB | Kế toán nội dung giữ lại 4 MiB |
| Khởi tạo LSP đồng thời | Lịch máy chủ sẵn có | Một lần khởi tạo tại một thời điểm cho mỗi tiến trình backend |
| Thao tác ngữ nghĩa đồng thời | Ngân sách máy chủ sẵn có | Hai thao tác ngữ nghĩa đang chờ cho mỗi tiến trình backend, cộng ngân sách máy chủ sẵn có |
| Máy chủ ngôn ngữ nhàn rỗi khỏe mạnh | Vòng đời sẵn có | Đủ điều kiện tắt sau năm phút nhàn rỗi, kiểm tra khoảng một lần mỗi phút |
Máy chủ ngôn ngữ khởi động theo yêu cầu theo mặc định ở cả hai hồ sơ. Việc khởi động và đọc tệp thông thường không kích hoạt làm nóng ngữ nghĩa suy đoán. Điều hướng ngữ nghĩa tường minh, chẩn đoán và lập chỉ mục vẫn khởi động phân tích cần thiết, nên yêu cầu ngữ nghĩa đầu có thể lâu hơn. Để khôi phục khởi động suy đoán và làm nóng trước khi đọc trên một máy còn dư chỗ, hãy đặt cả hai biến trước khi khởi động:
AX_CODE_MEMORY_PROFILE=normal AX_CODE_LSP_PREWARM=1 ax-code
Chỉ đúng giá trị 1 mới bật làm nóng suy đoán; low luôn chặn nó. Cài đặt này không kết thúc các máy chủ sẵn có, và không phải lệnh cấm toàn cục việc khởi động LSP: các sửa cần chẩn đoán và thao tác ngữ nghĩa hoặc lập chỉ mục tường minh vẫn dùng máy chủ ngôn ngữ. Việc thu hồi nhàn rỗi ở chế độ thấp vẫn tách riêng.
Bộ nhớ đệm nguồn cũng có giới hạn 1,000 mục. Việc kế toán gồm một khoản dự phòng chuỗi/khóa thận trọng; đó không phải giới hạn heap V8 hay RSS. Một tệp không vừa vẫn đồng bộ toàn bộ nội dung hiện tại với máy chủ ngôn ngữ. Việc loại khỏi bộ nhớ đệm không đóng tài liệu khi một yêu cầu có thể cần nó.
Chế độ thấp xếp hàng công việc thay vì bỏ phân tích. Lần dùng đầu hoặc lần dùng sau khi tắt vì nhàn rỗi có thể lâu hơn. Máy khách đã chọn hoặc đang xếp hàng, các RPC nền đang chờ và các lần chờ chẩn đoán được bảo vệ khỏi việc tắt vì nhàn rỗi. Một yêu cầu hết thời gian có thể để công việc phía máy chủ tiếp tục chạy: hai thao tác đang chờ không bảo đảm chỉ có hai phép tính bên trong máy chủ ngôn ngữ. Kiểm kê chẩn đoán được đánh dấu suy giảm sau thu hồi nhàn rỗi vì khởi động lại một tệp không chứng minh được độ phủ đầy đủ của không gian làm việc trước đó.
Các giới hạn này áp dụng trong từng tiến trình AX Code. Chúng không giới hạn tổng RAM, không điều phối các thực thể AX Code riêng, không trần heap của máy chủ ngôn ngữ, và không điều khiển trình biên dịch, trình duyệt hay mô hình cục bộ. Việc chọn mô hình, ngữ cảnh lời nhắc bắt buộc và lệnh xác minh không đổi.
Giữ phiên và bằng chứng
TUI giữ các sự kiện bản ghi nặng cho phiên đang xem. Phiên không hoạt động giữ bản tóm tắt, trạng thái và các phê duyệt/câu hỏi đang chờ; mở chúng sẽ tải lại lịch sử đã lưu từ SQLite. Cửa sổ hiển thị bình thường là 100 thông điệp với ngân sách tải tuần tự hóa 16 MiB. Các thông điệp hoàn chỉnh cũ được giải phóng trước. Thông điệp không chia được mới nhất và lịch sử Undo/Restore đã khôi phục có thể vượt ngân sách mềm; TUI hiện một chỉ báo. Đây là giới hạn phép chiếu, không phải giới hạn lịch sử phiên bền vững hay ngữ cảnh mô hình.
Khi heap V8 tiến gần giới hạn cứng, ngân sách bản ghi tự thu hẹp (xuống sàn 2 MiB ở 90% mức dùng heap) để tập được giữ rụng trước khi tiến trình tới FatalProcessOutOfMemory; quá 80%, TUI cũng hiện cảnh báo gợi ý /compact hoặc một lần khởi động lại. Áp lực hồi phục sau một GC đầy đủ, nhưng lịch sử đã bị loại vẫn mất cho đến khi được tải lại.
Các phần đến trước thông điệp cha dùng một vùng chờ có giới hạn (128 ID thông điệp / 1 MiB). Nếu nội dung đang chờ phải được giải phóng, TUI đưa ra một lần tải lại từ lịch sử đã lưu. Sự kiện muộn cho các thông điệp đã bị loại không thể tạo lại vĩnh viễn các phần mồ côi.
Bộ nhớ đệm bằng chứng mặc định là bộ nhớ có giới hạn (128 mục / 4 MiB giá trị đã tuần tự hóa cho mỗi thực thể). RocksDB vẫn là tùy chọn bật; riêng việc đổi backend bộ nhớ đệm không giảm lời gọi công cụ của mô hình. Xem Bộ nhớ đệm bằng chứng.
Đầu ra lệnh chạy nền
Đầu ra nền chưa đọc dùng tệp tạm riêng thay vì giữ các chuỗi JavaScript nhiều megabyte cho mỗi shell đã kết thúc. Mỗi tệp là một vòng UTF-8 2 MiB; đầu ra chưa đọc cũ hơn vượt giới hạn đó bị bỏ và được gắn nhãn. Tối đa 32 tệp vòng dự trữ nhiều nhất 64 MiB mỗi tiến trình. Khi các khe đĩa đầy, spool đã kết thúc cũ nhất có thể hết hạn; quyền sở hữu shell đang hoạt động không bị loại. Các lần đọc trả về đầu ra chưa đọc được giữ theo từng phần và giải phóng khe đĩa của nó.
Sổ đăng ký cho phép 16 shell đang hoạt động mỗi phiên và 32 mỗi tiến trình, và giữ tối đa 16 bản ghi đã kết thúc mỗi phiên / 64 mỗi tiến trình. Đầu ra đã kết thúc hết hạn sau 30 phút (kiểm tra khi truy cập và khoảng một lần mỗi phút). Các liệt kê lệnh/mô tả là bản xem trước trần ở 8 KiB / 1 KiB; lệnh đã thực thi không đổi. Phát lại của trình quan sát có giới hạn riêng 64 KiB và 128 bản ghi mỗi shell, với ngân sách byte toàn tiến trình 2 MiB; phát lại chưa đủ được gắn nhãn.
bash_output báo tính toàn vẹn đầu ra tách khỏi trạng thái thoát thật của tiến trình. Đầu ra bị bỏ, hết hạn hoặc không đọc được là bằng chứng xác minh chưa đủ ngay cả khi lệnh thoát với mã không. Các thông báo này vẫn hiện khi dùng bộ lọc đầu ra. Một bản ghi thiếu có thể nghĩa là nó đã được tiêu thụ hoặc bị loại; đầu ra không sẵn có không phải bằng chứng một kiểm tra đã đạt.
Tệp dùng một thư mục tạm thuộc tiến trình riêng (0700) và tệp 0600 trên POSIX. Việc đọc, gỡ phiên, dọn giữ lại và thoát tiến trình bình thường giải phóng các tệp thuộc sở hữu. Spool không phải kho phiên bền vững khi sự cố. Kết thúc cưỡng bức hoặc một sự cố có thể để lại một thư mục tạm riêng; việc thu gom tự động xuyên tiến trình chưa được triển khai, nên giới hạn 64 MiB mô tả tiến trình hiện tại, không phải phần sót sự cố tích lũy. Lỗi dọn hệ thống tệp được báo và không giải phóng khoản dự trữ hạn mức của tệp thất bại. I/O tệp đồng bộ có giới hạn tránh hàng ghi không giới hạn nhưng có thể thêm độ trễ trên hệ thống tệp tạm chậm.
Chọn khối lượng công việc
Với máy bị hạn, hãy dùng một nhà cung cấp đám mây, một phiên lập trình đang hoạt động và một kho nhỏ trước. Chỉ chạy các bản dựng lớn và thêm phiên tác nhân khi máy còn chỗ. Suy luận cục bộ cần một ngân sách riêng cho trọng số, bộ nhớ đệm KV/ngữ cảnh và chi phí môi trường chạy; hướng dẫn phần cứng của nhà cung cấp đám mây không áp dụng cho nó.
Hãy dùng CLI đã đóng gói cho việc dùng thông thường; pnpm run dev là quy trình nguồn của người đóng góp với chi phí khởi động và nạp mô-đun khác. Hãy xem AX Code cùng các tiến trình con máy chủ ngôn ngữ và bản dựng trong Activity Monitor hoặc trình theo dõi tiến trình của nền tảng. Một trần bộ nhớ đệm giảm không thiết lập một mức giảm cố định của bộ nhớ vật lý.
Các thay đổi bộ nhớ có kiểm thử giữ lại tất định và tương đương ngữ nghĩa. Chúng chưa được đánh giá bằng một kiểm thử tải trên máy Mac vật lý 8 GB. Chế độ thấp không bảo đảm một dự án tùy ý sẽ vừa trên máy 8 GB.