2026.10.16広告・PRを含む記事です

マイクラサーバーのメモリ割り当て!Forge・batの確認と変更方法

DDR4メモリの実物写真と、マイクラサーバーのメモリ割り当ての見出し
  • サーバーが重くてまともにプレイできない
  • メモリ不足が原因かもしれない
  • どうやってメモリを割り当てればいいかわからない

Forgeでrun.batを開いてもメモリの数字が見つからないなら、同じフォルダのuser_jvm_args.txtを確認します。run.batがそのファイルを読む構成では、割り当ての編集先が別に分かれています。

起動方法を見分けてから変更し、再起動後に使われた値を確かめましょう。メモリ使用量と設定上限を区別すれば、表示が少ないという理由だけで増設する必要はありません。

管理人spaのアイコン
この記事を書いた人spa

マイクラサーバーの構築と運用を繰り返して4年。今も経済サバイバル「spa77.works SMP」を運用中で、その経験をもとに記事100本以上を執筆。

起動方法からメモリを書き換える場所を選ぶ

サーバーを止め、起動ファイルと設定ファイルをコピーしてから編集します。マイクラランチャーの設定は参加する側のメモリで、別に動くサーバーへは反映されません。

起動ファイルや管理方法編集する場所
Forgeで@user_jvm_args.txtを読む同じフォルダのuser_jvm_args.txt
java -Xms... -Xmx... -jar...で起動そのbatファイルやshファイルのJava引数
ホスト会社の管理画面で起動管理画面の割当設定。ファイルを読まない構成もある

同じForgeでも、昔のjar直接起動と、インストーラーが用意するrun.batでは編集先が違います。ファイル名だけでなく、中で何を読み込んでいるかを基準にします。

Forgeは引数ファイルを編集して再起動する

run.batとuser_jvm_args.txtがある構成の手順です。Linuxのrun.shも、同じ引数ファイルを読む場合はこの方法で変更できます。

手順1:有効なメモリ指定を探す

Forgeの引数ファイルで# -Xmx4Gはコメント、-Xmx4Gは最大ヒープ4GiBを指定する記入例であることを示す図

MinecraftForge公式のuser_jvm_args.txtをもとに、コメントの有無を図解しています。# -Xmx4Gはコメントで、先頭の#を外した-Xmx4Gは最大ヒープ4GiBの記入例です。

サーバーを正常停止したあと、user_jvm_args.txtをテキストエディタで開きます。先頭が#の行は説明用のコメントで、設定にはなりません。

たとえば# -Xmx4Gと書かれていても、4GBの指定は無効です。既存の有効な-Xmsと-Xmxがないか、ファイル全体を先に見てください。

手順2:上限を決めて同じ項目の重複をなくす

初期・最小ヒープ2GiBを指定する-Xms2Gと、最大ヒープ4GiBを指定する-Xmx4Gの記入例

以下は初期・最小ヒープ2GiB、最大ヒープ4GiBの記入例です。この値を全サーバーの推奨量としてコピーせず、OSや同時に使うアプリの余裕を残して決めます。

-Xms2G
-Xmx4G

既存の有効行があれば、その行を書き換えます。同じ項目を末尾へ足し続けず、-Xmsと-Xmxをそれぞれ1つに整理してください。

-Xmsは-Xmx以下にします。数値と単位の間に空白を入れず、半角のハイフンと英数字で保存します。

補足

JavaのGは1,073,741,824バイト単位です。容量表示の丸め方によって、管理画面のGB表記と数字が少し違って見えます。

手順3:元の起動ファイルで起動して確認する

同じフォルダのrun.batから起動します。java -jar server.jarの1行に置き換えたり、libraries内の引数ファイルをメモリ設定用に書き直したりする必要はありません。

起動できないときは、エラー文を残したうえで、退避したuser_jvm_args.txtへ戻します。画面が閉じて読めなければ起動用の黒い画面を開いたままにする手順で確認できます。

起動できたら、同じワールドへ参加できることを確認してください。タスクマネージャーの使用量が4GBより小さいだけでは、上限の設定失敗とはいえません。

設定が反映されないときは読み込み元を確かめる

症状確認する場所
変更したのに上限が変わらない実際に起動したフォルダ、起動ファイルの@user_jvm_args.txt、管理画面側の指定
メモ帳には設定があるのに無視される#が付いていないか、別名や二重拡張子で保存していないか
上限より使用量が小さい現在の使用量と最大ヒープを混同していないか
変更直後から起動できない単位、全角文字、XmsとXmxの大小、利用可能メモリ

JDKのjcmdが使える環境では、サーバーと同じマシンで、起動したOSユーザーとしてJavaプロセスを一覧にします。コンテナ内で動かしている場合は、その実行環境で確認します。

jcmd -l

サーバーのプロセス番号を選び、1234をその番号へ置き換えて実行します。ゲーム本体など、別のJavaプロセスを選ばないでください。

jcmd 1234 VM.flags

MaxHeapSizeが最大ヒープです。-Xmx4Gなら4,294,967,296バイトに相当します。これは現在使っている量でも、Javaプロセス全体の使用量でもありません。

jcmdが見つからない環境や、管理画面だけを使うサービスでは、この確認方法は使えません。その場合は起動設定と管理画面が示す上限を確認し、使用量の数字だけで反映の有無を判断しないようにします。

メモリ割り当てはJavaのヒープの大きさを決める設定

ここで割り当てるのは、Javaがオブジェクトを置くヒープという領域です。最大値を指定しても、その分を常に使い切るわけではありません。

メモリは、データを一時的に保管する場所。机でたとえると、作業スペースそのものです。

初期値は机を最初にどれだけ広げるか、最大値はどこまで広げてよいかに相当します。

ノートPCとノート、デスクライトが置かれた作業机の写真

机のスペースが足りないと思い通りに作業できないように、メモリが不足したサーバーは重くなったりエラーが出たりします。

spa

割り当てが足りないと、ログにOutOfMemoryErrorが出てサーバーごと落ちることもあります。

メモリ不足のサイン

こんな症状が出ているなら、メモリ不足の可能性があります。

症状内容
サーバーが重い・ラグるTPS(ティックレート)が落ちてカクつく
OutOfMemoryErrorが出るJavaがメモリ不足でクラッシュするときのエラー
ログにGC overhead limit exceededが出るガベージコレクションに時間がかかりすぎているサイン

ただし、ラグの原因がCPUやエンティティ過多である場合もあります。

メモリ以外のエラーで起動が止まっているなら、サーバーが起動しないときのエラー別ガイドから原因を絞ってください。

まずメモリ使用率を確認し、不足しているようなら割り当てを増やすのが基本です。

自分の人数だと何GB必要かを先に把握したいときは、必要スペック診断が使えます。

メモリ割り当ての目安

配布元の条件と同時使用時の余裕を確認し、ヒープ上限を決めてから使用量とログを確認する図解

以下は割り当てを検討するための参考値で、MinecraftやForgeが人数別の動作を保証する値ではありません。MODパックに必要量の指定がある場合は、その条件を先に確認します。

どのサーバーソフトを使うか迷っている場合は、先にサーバーソフト比較で比較してみてください。

構成ごとの目安を3つに分けます。

  • バニラサーバーの場合
  • PaperやSpigotでプラグインを入れる場合
  • ForgeやFabricでMODを入れる場合

自分のサーバーに近い構成の数字を基準にしてください。

バニラサーバーの場合

MODもプラグインも入れていないシンプルなサーバーです。メモリ消費は最も少なく済みます。

同時プレイ人数推奨メモリ量
1〜4人2GB〜3GB
5〜10人3GB〜5GB
11人以上5GB〜8GB

PaperやSpigotでプラグインを入れる場合

プラグインが10〜20個入っているような構成です。プラグインの数や種類によって消費量が増えます。

同時プレイ人数推奨メモリ量
1〜4人2GB〜4GB
5〜10人4GB〜6GB
11人以上6GB〜10GB

PaperMCに切り替える手順は、PaperMCの導入手順でダウンロードから起動まで追えます。

ForgeやFabricでMODを入れる場合

MODは多くのリソースを消費します。特に大型MODpackは想像以上にメモリを使います。

同時プレイ人数推奨メモリ量
1〜4人4GB〜6GB
5〜10人6GB〜10GB
11人以上8GB〜12GB以上

割り当て量はいつでも変更できます。

ただしメモリを増やすほど性能が上がるわけではありません。OS、Javaのヒープ以外の領域、同居アプリも使うため、搭載量すべてを-Xmxへ渡さないでください。

残す容量を一律に決めず、同時に使うアプリを動かした状態で空き容量を確かめます。設定後もOS側の余裕とサーバーのログを見て、不足している領域を切り分けましょう。

メモリ以外のCPUやストレージの選び方は、必要スペックの記事で項目ごとに扱っています。

初期メモリと最大メモリは使い方に合わせて決める

初期ヒープと最大ヒープを分け、OSやJavaのヒープ以外の領域も残すメモリ設定の図解

起動コマンドに出てくる-Xmsと-Xmxの意味です。

オプション意味
-Xmsヒープの初期サイズと最小サイズ
-Xmxヒープの最大サイズ

専用サーバーでは同じ値にする構成も使われますが、一致は必須条件ではありません。

小さな初期値から始めれば、負荷に応じてヒープが拡張されます。同じ値にする場合は、最初からその容量を確保できる余裕が必要です。

サーバー専用機のように、他のアプリと同居させずメモリを空けておく必要がない環境では、最初から同じ値にしておくのが無難です。

デスクトップPCでほかの作業もする、同居サービスがあるなど、空きメモリを保ちたい事情がある場合は、-Xmsを低めにしてOSの余裕を優先する選び方もあります。

補足

GC(ガベージコレクション)とは、Javaが使わなくなったメモリを自動で回収する仕組みです。ヒープが小さいほどGCの頻度が上がりやすく、サーバーの動作が重くなる一因になります。

OSやJavaが使うメモリは-Xmxとは別にかかるので、搭載メモリをすべて割り当てないよう注意が必要です。

8GBに設定するなら、こう書きます。

Terminal window
java -Xms8G -Xmx8G -jar server.jar nogui
補足

ここで変更するのは、サーバー本体(server.jar)を起動するときの-Xms・-Xmxです。

マイクラランチャー側の「JVMの引数」とは別物なので、片方を書き換えてももう片方には反映されません。

Paper・Spigotで安定運用したい場合、公式は6〜10GB程度のヒープを推奨していて、その規模ならGCの詳細設定であるAikar’s flagsを起動コマンドへ追加する方法もあります。

ForgeへPaper向けの詳細設定をそのまま足すのではなく、まず割当先と上限を確認します。設定を変えて重くなったら、元の値へ戻して比べてください。

サーバーのメモリ容量を確認する

搭載メモリを超える設定は避けるべきです。設定できてしまう場合もありますが、起動失敗やOSの強制終了(OOM Killer)・スワップによる極端な低速化の原因になります。

搭載量だけでなく、OSやほかのアプリを動かしたあとの空き容量も確認します。

  • Windowsで搭載メモリを確認する
  • Linuxで搭載メモリを確認する

Windowsで搭載メモリを確認する

Windows 11でメモリ容量を確認する方法。Ctrl + Shift + Escでタスクマネージャーを開き、パフォーマンスからメモリ搭載量を見る流れを示している

Ctrl + Shift + Escでタスクマネージャーを開き、左のパフォーマンスをクリックします。

「メモリ」で搭載量と使用状況を確認します。搭載量や利用可能な量は、サーバーの-Xmxとは別です。

PCの搭載メモリ量、利用可能な量、サーバーの-Xmxで指定するJavaヒープ上限の違いを示した説明図

Linuxで搭載メモリを確認する

Ubuntuでメモリ容量を確認するポイント。free -hコマンドを実行し、Mem行のtotalを見る流れを示している

以下のコマンドを実行します。

Terminal window
free -h

実行するとこんな感じで表示されます。

Terminal window
total used free shared buff/cache available
Mem: 7.8Gi 4.7Gi 1.7Gi 19Mi 1.6Gi 3.0Gi
Swap: 2.0Gi 0B 2.0Gi

Mem:行のtotalが搭載量です。この例では約8GBです。

jarを直接起動する構成の変更方法

ここからは、java -jar server.jarのようにjarを直接起動する構成の例です。@user_jvm_args.txtを読むForgeは前半の手順を使い、付属の起動ファイルをこの例へ置き換えないでください。

直接起動の構成や提供元の管理方法に合わせて、変更場所を選びます。

  • Windowsはバッチファイルを書き換える
  • Linuxは起動コマンドを書き換える
  • レンタルサーバーは管理画面から変更する

自分の起動方法に当てはまる項目だけ読めば足ります。

Windowsはバッチファイルを書き換える

バッチファイル(.bat)は、メモ帳などのテキストエディタで開くファイルです。

この行を見つけます。

Terminal window
@echo off
java -Xms1G -Xmx2G -jar server.jar nogui
pause

-Xmsと-Xmxの数字を書き換えるだけです。8GBにするならこうなります。

Terminal window
@echo off
java -Xms8G -Xmx8G -jar server.jar nogui
pause

変更後はサーバーを再起動します。

停止から起動までの手順は、サーバーの再起動にまとめています。

緑色のランプが点灯したラック型サーバーの実写真に、マイクラサーバーを安全に再起動する記事見出しを重ねた画像。

【初心者向け】マイクラサーバーを再起動する方法!手動・自動の両方を解説

Linuxは起動コマンドを書き換える

起動スクリプト(start.shなど)をテキストエディタで開きます。

Terminal window
nano start.sh

この行を見つけたら、数値の書き換えが必要です。

Terminal window
java -Xms1G -Xmx2G -jar server.jar nogui

8GBにするなら、こう変更します。

Terminal window
java -Xms8G -Xmx8G -jar server.jar nogui

Ctrl+O → Enter → Ctrl+Xで保存して、サーバーを再起動します。

レンタルサーバーは管理画面から変更する

レンタルサーバーでは、管理画面が起動引数を管理している構成があります。その構成では、ファイルを変更しても使われません。

管理画面からメモリ上限を設定したり、プランを変更したりします。

ただし、割り当てを上げても契約プランのメモリは超えられません。

たとえば4GBプランで-Xmx8Gと書いても、8GB分は使えません。

上限が足りないと確認できた場合に、プラン変更を検討します。使用量に余裕があるのに重いなら、先にCPU負荷やMODの処理を調べましょう。

ConoHa for GAMEならMinecraft managerでメモリ制限を設定でき、XServer GAMEsなら管理画面からプラン変更ができます。

ConoHa for GAMEのMinecraft managerは、Paperのテンプレートでは提供されません。統合版(Bedrock)のテンプレートではMinecraft managerを使えますが、メモリ制限の設定はできません。

補足

XServer GAMEsのプラン変更は、申請してから完了するまでサーバーが一時停止します。遊んでいる途中ではなく、事前に日時を決めてから変更します。

メモリを増やせないときはプラン変更を検討する

設定ファイルを書き換えても、物理メモリや契約プランの上限を超えて割り当てることはできません。

次の状況に当てはまる場合は、マシンの増設やプラン変更を検討するタイミングです。

  • 割り当て上限まで増やしてもラグが改善しない
  • OSの動作領域を確保すると十分なメモリをサーバーに回せない
  • 契約プランの上限まで使い切っている

自宅PCの場合は、まずメモリを物理的に増設できるか確認します。

空きスロットがあれば、16GBを1枚足すだけでサーバーへ回せる量が増えます。

買う前に、今のPCに合うメモリの形と世代を仕様表で確かめます。形は2種類あり、ふつうのデスクトップPCは細長いDIMM、ミニPCや中古の小型PC、ノートPCは短いSO-DIMMを使います。世代もDDR4とDDR5で差し込み口が違い、形か世代のどちらかが違うと挿さりません。

ミニPCや小型PCなら、ノートPC用として売られているSO-DIMMを選びます。第8〜10世代のCoreを積んだ中古の小型PCはDDR4なので、一覧からDDR4の商品を選んでください。

基板にメモリが直付けされていて増設できない機種もあります。そのPCで足りなくなったら、メモリを32GBまで積めるミニPCへの買い替えか、次のプラン変更を比べてください。

増設が難しいなら、プラン変更だけでメモリを増やせるレンタルサーバーへの移行が現実的です。

レンタルサーバーの場合は、管理画面から上位プランへ変更すれば、割り当てられるメモリも増えます。

割引は11月13日17時まで

管理画面でプランを変えるだけで、メモリ不足の重さから抜け出せます

自宅PCで足りないメモリをプランで確認する

レンタルサーバーのプラン変更では、多くの場合ワールドデータがそのまま引き継がれる仕組みです。

ただしサービスや手順によって扱いが違うため、変更前にバックアップを取り、公式の手順を確認してから進めます。

最上位プランをいきなり選ぶ必要はなく、人数や構成に合った1つ上のプランから試せば十分です。

何GBのプランを選べばいいか迷うなら、人数別の料金目安で必要メモリと月額の相場を先に確認すると、1つ上のプランを無駄なく選べます。

サービスごとの違いまで見てから選びたい場合は、レンタルサーバー比較の記事が使えます。

サーバーラック背面の参考写真と、レンタルサーバーの選び方の見出し。紹介サービスの実設備ではない

マイクラのレンタルサーバーおすすめ4社!迷ったら3日438円から

よくある質問

Qメモリを増やしても重いのはなぜですか?
A

メモリが足りているのに重いなら、別の原因です。TPS低下、Mobや村人の密集、ホッパーや自動装置、重いプラグイン、チャンク生成が重なると、メモリに余裕があっても重くなります。原因の切り分けは「サーバーが重い・ラグい原因」の記事でまとめています。

Qメモリは何GBに増やせばいいですか?
A

人数だけでは決まりません。MODパックの必要量、同時に動かすアプリ、OSの空き容量を見て決めます。目安表は出発点であり、その容量での動作を保証するものではありません。

まとめ:割り当てる場所と起動後の上限を確かめよう

Forgeの起動ファイルがuser_jvm_args.txtを読むなら、そのファイルが編集先です。jarを直接起動する構成なら、起動コマンドの-Xmsと-Xmxを書き換えます。

再起動したあとの確認は、jcmdが使える環境ならVM.flagsのMaxHeapSizeが指定した値になっているかで足ります。起動できなくなったときは、退避しておいたファイルへ戻すのが先です。

上限まで上げてもラグが残るなら、メモリ以外の原因を疑ってください。サーバー軽量化のコツで、描画距離やエンティティの量から見直せます。

自宅PCのメモリを増設できない、または増設しても足りないなら、管理画面からプランを上げられるレンタルサーバーへ移すと、PCに手を入れずにサーバーのメモリを増やせます。

割引は11月13日17時まで

自宅PCのメモリを削らずに、サーバーにだけ余裕を持たせられます

自宅PCで足りないメモリをプランで確認する