blog
Kernel panic data.kalloc.1024 trên Mac khi chạy nhiều phiên Claude Code
Mac Studio 32 GB chạy khoảng 20 phiên Claude Code tự khởi động lại năm lần vì vùng nhớ kernel data.kalloc.1024 rò tới khoảng 20 GB. Cách theo dõi bằng zprint, vì sao bản cài npm làm rò nhanh hơn, và ba bước đã chặn được nó.
- Ngày đăng
- Ngày cập nhật
Từ 17 đến 22/10/2026, Mac của tôi tự khởi động lại năm lần, lần nào panic log cũng ghi vùng nhớ kernel data.kalloc.1024 bị cạn. Thủ phạm là một lỗi rò vùng nhớ kernel do Claude Code kích hoạt, và cách cài Claude Code quyết định nó rò nhanh tới đâu.
Máy và cách chạy: khoảng 20 phiên Claude Code song song
Mac Studio M1 Max, 32 GB RAM. Lúc panic, máy chạy macOS 26.5.2; hiện là 26.7.1.
Mỗi dự án một phiên Claude Code trong tmux, mở tự động khi máy khởi động. Tôi điều khiển từ xa bằng Remote Control (app Claude trên điện thoại và máy khác), nên máy chạy liên tục, không có ai ngồi trước. Các phiên dùng MCP server, trong đó có Playwright và Chrome DevTools chạy Chrome headless, và chạy test e2e bằng Playwright.
Triệu chứng: zone map exhausted ở data.kalloc.1024
Máy tự khởi động lại. Panic log ghi:
zone map exhausted while allocating from zone [data.kalloc.1024]
Tiến trình bị ghi tên lúc sập lần nào cũng là claude.exe.
Theo dõi vùng nhớ bằng zprint
zprint data.kalloc.1024
Cột 7 là số phần tử đang dùng, mỗi phần tử 1 KiB. Vùng này tăng dần khi Claude Code chạy và panic khi chạm khoảng 20 GB. Tắt Claude chỉ làm vùng ngừng tăng. Chỉ khởi động lại máy mới trả lại bộ nhớ.
Nguyên nhân: issue #66020 chưa có bản sửa, bản npm làm rò nhanh hơn
Lỗi này đã được báo ở anthropics/claude-code#66020, và tại 31/10/2026 issue vẫn mở. Nghi vấn chung là lỗi nằm ở kernel macOS và Claude Code là thứ kích hoạt nó.
Quan sát trên máy tôi: càng nhiều tiến trình Claude Code thì rò càng nhanh, kể cả lệnh claude chạy ngắn trong script.
Bản cài qua npm tự cập nhật, tức là thay file chạy ngay dưới các phiên đang mở. Một lần panic xảy ra 4 phút sau lần cập nhật như vậy. Trong lúc các phiên còn chạy trên file npm đã bị gỡ, vùng nhớ rò 80 đến 150 nghìn phần tử mỗi phút, tức 3,3 GB trong 40 phút.
Cách xử lý: native installer, cập nhật mỗi tuần, script canh
- Chuyển Claude Code từ npm sang bản native installer. Có một cái bẫy:
claude installchạy từ bản npm tự gỡ luôn gói npm, kể cả khi đang có phiên chạy từ nó, và phiên cũ còn chạy sẽ tự cài lại gói npm. Nên khởi động lại mọi phiên ngay sau khi chuyển, rồi kiểm bằngnpm ls -g @anthropic-ai/claude-codevà gỡ khi không còn tiến trình nào dùng. - Tắt tự cập nhật trong các phiên chạy nền bằng
DISABLE_AUTOUPDATER=1. Cập nhật gom về một job hằng tuần:claude update, rồi khởi động lại mọi phiên nếu có phiên đang chạy bản cũ. Job này lúc đầu chạy mỗi đêm, nhưng Claude Code ra bản gần như mỗi ngày nên sáng nào cũng mất việc hẹn giờ trong phiên. Vì thế tôi đổi sang mỗi tuần. - Script canh chạy định kỳ: đọc
zprint, tính tốc độ tăng, cảnh báo ở 12 GB và 16 GB để tôi chủ động khởi động lại trước khi panic.
Sau khi chuyển sang native, vùng nhớ đứng yên: tốc độ 0 suốt 8 giờ với 17 phiên chạy. Từ 22/10 tới nay không panic lại kiểu này.
Giới hạn của cách xử lý này
- Lỗi chưa có bản sửa từ phía Claude Code hay macOS. Native installer và script canh chỉ là cách sống chung.
- Rò trong kernel thì tắt ứng dụng không giải phóng được, chỉ khởi động lại máy mới trả lại. Cảnh báo sớm để tự khởi động lại thì tốt hơn chờ panic.
- Panic khác panic string thì là bệnh khác. Ngày 31/10 máy panic lần nữa với
100% of compressed pages limittrong khi script canh kalloc vẫn báo 0.0 GB: chuyện đó và cách chữa nằm ở bài Mac còn 65% RAM vẫn sắp panic.
Bài viết liên quan
tất cả bài viết →- Mac còn 65% RAM vẫn sắp panic: bộ nén, IOSurface và WebKit của PlaywrightMac Studio 32 GB panic với 100% of compressed pages limit, rồi tối cùng ngày suýt panic lần hai khi RAM vẫn báo trống 65%. Thứ bị đầy là số trang trong bộ nén, và thủ phạm là IOSurface do WebKit của Playwright để lại trong kernel.đọc tiếp →
- REA: cho agent dịch ngược phần mềm, rồi kiểm luôn cái oracleREA cho coding agent đọc một chương trình không có source, xuống tới mã máy, rồi dựng lại tính năng đó bằng code của mình. Bản dựng lại đúng hay sai do oracle quyết định, và oracle cũng là code, cũng có bug.đọc tiếp →
- Top 10 skill Claude Code nên cài, xếp theo sao GitHub: bộ nào làm gì, bộ nào đè lên nhauMười bộ skill cho Claude Code có nhiều sao GitHub nhất tại 29/10/2026: Superpowers, Matt Pocock Skills, Karpathy Skills, Anthropic Skills, Ponytail, UI UX Pro Max, Graphify, Caveman, Agent Skills, Taste Skill. Mỗi bộ có lệnh cài, việc nó làm và chỗ nó trùng với bộ khác.đọc tiếp →
- Claude Code + NotebookLM + Obsidian: dựng pipeline nghiên cứu, và nửa cầu nối không chính chủCách ghép Claude Code, NotebookLM và Obsidian thành pipeline nghiên cứu: skill nào có sẵn, vì sao NotebookLM không có API cho tài khoản cá nhân, và cái giá phải trả khi ghép ba công cụ này.đọc tiếp →