Skip to content
Hosting · Hiệu năng

Bộ nhớ: nên cấp bao nhiêu và vì sao không phải tất cả

Cách đọc biểu đồ bộ nhớ trong bảng điều khiển, vì sao bộ nhớ đã dùng không có nghĩa là thiếu, và khi nào cần gói cao hơn.

Cập nhật 13 tháng 8, 2026

Biểu đồ bộ nhớ trong bảng điều khiển khiến người mới sợ hãi: nó gần như luôn ở mức cao. Đây là hành vi bình thường của Java.

Cách đọc biểu đồ

Java cấp phát bộ nhớ trước và chỉ giải phóng trong quá trình thu gom rác. Hình răng cưa trên biểu đồ — mức sử dụng tăng dần rồi giảm mạnh sau khi thu gom — là dấu hiệu của một máy chủ khỏe mạnh.

Vấn đề trông khác hẳn: đường biểu diễn bị ghim ở mức trần và không hạ xuống sau các lần giảm. Điều đó nghĩa là rác không được giải phóng — hoặc bộ nhớ thực sự quá thấp, hoặc có rò rỉ.

Dấu hiệu thiếu bộ nhớ

  • OutOfMemoryError trong log — phân tích.
  • Đơ vài giây, thời gian đơ tăng theo thời gian hoạt động.
  • Máy chủ chạy tốt sau khi khởi động lại và xuống cấp vào buổi tối.

Rò rỉ

Nếu mức tiêu thụ tăng tuyến tính và không giảm, hãy tìm thủ phạm:

spark heapsummary

Thường đó là một plugin tích lũy dữ liệu, hoặc một mod có chunk loader — Spark.

Biện pháp tạm thời là tự động khởi động lại mỗi ngày một lần. Cách khắc phục lâu dài là tìm và cập nhật thủ phạm.

Đừng cấp phát tất cả

Ngoài heap, tiến trình còn cần bộ nhớ cho metadata, luồng và bộ đệm, còn container cần bộ nhớ cho hệ thống. Bảng điều khiển Millida tự tính đến điều này bằng cách đặt giới hạn heap theo gói — bạn không cần chỉnh thủ công.

Khi nào nên đổi gói

Khi mức tiêu thụ đỉnh liên tục chạm giới hạn trong quá trình hoạt động bình thường và hồ sơ không cho thấy rò rỉ — Đổi gói.

Hosting MinecraftMáy chủ của bạn chạy khi bạn offlineTạo máy chủ