Skip to content
托管 · 性能

内存:该分配多少,为什么不能全给

如何看懂控制面板中的内存图表,为什么已用内存并不代表内存不足,以及何时该升级套餐。

更新于 2026年8月13日

控制面板中的内存曲线常常让新手感到不安:它几乎总是很高。这是 Java 的正常行为。

如何解读

Java 会预先分配内存,只在垃圾回收时才释放。曲线上的锯齿形——占用上升、回收后骤降——是服务器健康的表现。

出现问题时的表现则不同:曲线紧贴上限,在回落之后也不会降下来。这说明垃圾没有被释放——要么内存确实太小,要么存在泄漏。

内存不足的迹象

  • 日志中出现 OutOfMemoryError——分析。
  • 卡顿数秒,且随运行时间增长而加剧。
  • 服务器重启后运行正常,到了晚上就变差。

内存泄漏

如果占用呈线性增长且不回落,请查找元凶:

spark heapsummary

通常是某个不断累积数据的插件,或者带有区块加载器的模组——Spark。

临时措施是每天自动重启一次。根本的解决办法是找到并更新元凶。

不要把所有内存都分配出去

除了堆内存,进程还需要内存用于元数据、线程和缓冲区,而容器还需要内存用于系统本身。Millida 控制面板会根据套餐自动设置堆内存上限,把这些都考虑在内——您无需手动调整。

何时更换套餐

当正常运行时峰值占用持续触及上限,且分析结果没有显示泄漏时——更换套餐。

Minecraft 托管您离线时服务器仍在运行创建服务器