Trình thu gom rác và các khoảng dừng
Vì sao máy chủ đóng băng vài giây ở TPS bình thường: cách thu gom rác hoạt động, cách thấy nó trong log, và điều gì thực sự giúp ích.
Cập nhật 13 tháng 8, 2026
Java giải phóng bộ nhớ theo từng đợt dừng: ứng dụng tạm dừng, bộ thu gom rác loại bỏ rác, rồi công việc tiếp tục. Một đợt dừng dài trông giống như toàn bộ máy chủ bị đơ.
Triệu chứng
- TPS trung bình bình thường, nhưng cứ vài phút mọi thứ lại đơ trong 1–5 giây.
- Trong log Paper:
Can't keep up! Did the system time change, or is the server overloaded?— phân tích. spark healthhiển thị tỷ lệ thời gian dành cho GC.
Những yếu tố ảnh hưởng
| Yếu tố | Ảnh hưởng |
|---|---|
| Kích thước heap | Heap càng lớn — đợt dừng càng dài |
| Tốc độ tạo rác | Plugin và mod tạo đối tượng trong vòng lặp |
| Bộ thu gom | Mặc định là G1; ZGC cho đợt dừng ngắn trên heap lớn |
| Số nhân CPU | Thu gom song song nhanh hơn |
Cần làm gì
- Đừng cấp bộ nhớ “dư dả hơn mức cần”. 32 GB khi 8 GB là đủ đồng nghĩa với những đợt dừng dài hơn. Nguyên tắc là mức đỉnh cộng thêm 30–50% — Cần bao nhiêu bộ nhớ.
- Tìm nguồn tạo rác.
spark heapsummarysẽ cho thấy thứ gì đang làm đầy heap. Thường đó là một plugin hoặc mod cụ thể. - Cờ khởi chạy. G1 đã được tinh chỉnh sẵn trong Millida; các bộ cờ thủ công lấy từ internet thường gây hại nhiều hơn — Cờ của Aikar.
Những gì không nên làm
Đừng cố “tắt bộ thu gom rác” — nó không tồn tại như một tùy chọn. Đừng đặt -Xmx cao hơn dung lượng bộ nhớ của gói: tiến trình sẽ bị kill khi cố vượt quá giới hạn — OutOfMemoryError.
Hosting MinecraftMáy chủ của bạn chạy khi bạn offlineTạo máy chủ
