サーバーのログにjava.lang.OutOfMemoryErrorがあれば、原因はメモリ割当不足で確定します。 対処は3段階です。現在の割当上限(-Xmx)を確認し、物理メモリからOS分を引いた範囲で増やし、それでも足りなければ土台を増設します。 物理メモリを超える割当は逆効果で、8GB環境なら割当は6GB前後までが目安です。

症状の確定: ログにOutOfMemoryErrorがあるか

MODサーバーのメモリ不足は、探索を始めると数十分で落ちる、人数が増えた日だけクラッシュする、といった症状で現れます。 前兆は分かりにくく、ある日急に落ちることが多いです。 放置すると、書き込み中のクラッシュでワールドが破損することもあります。

確定診断はログです。logs/latest.logの末尾かcrash-reportsの最新ファイルに、次のいずれかがあればメモリ不足で確定です。

java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: GC overhead limit exceeded

Java heap space は割当メモリ(ヒープ)を使い切った状態、GC overhead limit exceeded はメモリ掃除(GC)ばかりして仕事が進まない状態です。 対処はどちらも同じです (出典: Nodecraft - Diagnosing OutOfMemory Errors、2026-08-26時点)。

クラッシュの少し前から極端なカクつき(GC多発)が出るのも、典型的な前兆です。 ログにOutOfMemoryErrorがない場合は別の原因です。クラッシュレポートの読み方で切り分けます。

ステップ①: いくら割り当てているかを確認する

サーバーは物理メモリを自動で使いません。使えるのは起動時に指定した上限(Java引数-Xmx)までで、未指定なら少ない既定値で動いています。 「PCには16GBあるのに落ちる」状況の多くは、上限の未指定か低すぎる指定が原因です。

確認場所は起動方法で決まります。

  • バニラ(公式jar): 起動コマンドや.bat内の-Xmx4Gのような表記
  • Forge(1.17以降): サーバーフォルダのuser_jvm_args.txt内の-Xmx行
  • VPSのテンプレート構築: 起動スクリプトまたはサービス設定内のJava引数

ステップ②: -Xmxを増やす

例として6GBに増やす場合、バニラなら起動コマンドを次のようにします。

java -Xms6G -Xmx6G -jar server.jar nogui

Forge(1.17以降)ならuser_jvm_args.txtに書きます。

-Xms6G
-Xmx6G

初期確保量(-Xms)は、サーバー用途では上限(-Xmx)と同じ値にするのが一般的です。

割当を増やすほど安定するわけでもありません。過剰な割当はGC1回あたりの負担を増やし、カクつきの原因になります。 GCの挙動を改善したい場合は、G1GCというGC方式を指定します(-XX:+UseG1GC等) (出典: Apex Hosting - OutOfMemoryError Java Heap Space、2026-08-26時点)。

ステップ③: 増やしても落ちる場合の判断

-Xmxを上げても再発するなら、次の順で原因を判断します。

1. 構成に対して割当の総量が足りない

大型MODパック(100個超)は8〜12GB以上が一般的な目安です。 自分の構成の必要量と現在の割当を、MODサーバーのメモリは何GB必要?の規模別目安と突き合わせてください。 割当が目安を下回っているなら、不足分が原因です。

2. 物理メモリの上限に達している

物理メモリからOS分を引いた残りがもうないなら、設定ではなく土台を増設する段階です。 自宅PCならメモリ増設、VPSならプラン変更です。 VPSはプラン間の移動で済むため、買い直しになりがちな自宅PCより手間が少ないです。

必要スペックからの選び方はマイクラ向けVPS比較にまとめています。

3. 特定MODがメモリを食い潰している

割当が目安を満たしているのに落ちるなら、特定MODの暴走(リーク)の可能性があります。 直前に追加・更新したMODを外して様子を見る、クラッシュレポートの読み方の二分探索で原因のMODを絞る、の順で対処します。 ワールド側の原因(放置Mob・アイテム溜まり)はMODサーバーが重い時の軽量化手順が有効です。

適切な割当に直したサーバーは、探索でチャンクが増えても落ちなくなります。 夜通し探索に出かけた友達が朝まで接続できていたら、対処は成功です。

よくある質問(FAQ)

Q. とにかく多く割り当てておけば安定する?

しません。物理メモリを超えると、スワップで動作が極端に遅くなります。 超えなくても、過剰な割当はGC1回の負担を増やしてカクつきの原因になります。

適切な量は「構成に必要な量+少しの余裕」です。目安は規模別のメモリ目安を参照してください。

Q. サーバーではなく自分のゲーム画面がOutOfMemoryで落ちる場合は?

クライアント側の割当不足です。Minecraftランチャーの起動構成→JVM引数にある-Xmxの値を増やします(影MOD入りなら4〜8GBが目安)。 サーバー側の設定とは別物なので、両方をそれぞれ設定する必要があります。

Q. -Xmxを増やしたら今度は起動しなくなったのはなぜ?

物理メモリ以上を要求してJavaが確保に失敗しているか、32bit版Javaを使っている可能性があります。 割当を物理メモリ−OS分まで下げ、64bit版Javaであることを確認してください。

次に読む: