【2026年1月最新】マイクラ Aikar フラグ 最適化設定完全ガイド|Java21対応・メモリ設定・Paper推奨

目次

冒頭の直接回答

Aikarフラグは、マインクラフト(Java版)サーバーのJVM(Java仮想マシン)設定を最適化するための起動オプション集で、主にG1GC(Garbage-First GC)を前提に「GC停止(ポーズ)」によるTPS低下・ラグスパイクを抑えることを目的とします。特にPaperは公式ドキュメントでAikarフラグ(およびStart Script Generator)の利用を案内しています。2026年1月時点では、Minecraft Java Edition 1.21.11(Mounts of Mayhem)を含む現行運用でJava 21(64-bit)が前提となるケースが一般的で、-Xms-Xmx を同値に揃えたうえで、まずはPaper公式の推奨スクリプトを出発点に、/spark/timings で計測しながら調整するのが安全です。

要点

  • AikarフラグはG1GC前提で、GCポーズを抑えてTPSの安定化を狙う設定群
  • -Xms-Xmx を同じ値に設定し、ヒープサイズの伸縮による揺れを減らす
  • Paper公式はAikarフラグ(およびStart Script Generator)を案内しており、十分なメモリ確保を推奨(ただしOS分の余裕も必要)
  • Minecraft 1.20.5以降(1.21.11含む)では、サーバー運用もJava 21(64-bit)が前提
  • 適用後は /spark/timings、GCログでボトルネックを確認して調整する

Aikarフラグとは?マイクラサーバー最適化の基礎

Aikarフラグの概要と開発背景

Aikarフラグは、マインクラフト(Java版)サーバー界隈で広く参照されているJVM最適化設定です。Empire Minecraft運営者のAikar氏が公開したフラグ群を出発点に、現在はPaper公式ドキュメントでも「Aikar’s flags」および「Start Script Generator」として案内されています。

マインクラフトサーバーは、短命オブジェクト(座標・一時データ等)が大量に生成されやすく、JVMのデフォルト設定のままだと、負荷状況によってはGC(ガベージコレクション)の停止が目立ってTPSが揺れ、プレイヤーがラグとして体感することがあります。

Aikarフラグは、G1GCの挙動(新世代領域の扱い、リージョンや予約領域、Mixed GCの目標など)をマイクラ向けに調整し、短い停止を積み重ねて長い停止を避ける方向に寄せることで、体感ラグの原因になりやすいスパイクを抑えることを狙います。

従来設定との違いとパフォーマンス向上

従来は -Xms を小さくして必要に応じてヒープを拡張する運用も多かったですが、マイクラサーバーのように負荷変動が大きい環境では、ヒープ伸縮やGCタイミングの揺れが「引っかかり」として出やすくなります。Aikarフラグでは -Xms-Xmx を同値にし、ヒープサイズを固定してGCを安定させる方針を取ります。

ただし、Aikarフラグは「入れれば必ず速くなる」万能薬ではありません。TPS低下の原因がCPU(シングルスレッド性能)ディスクI/O重いプラグイン過剰なエンティティ/チャンク負荷などにある場合、GCの改善だけでは体感が変わらないこともあります。まずは計測し、ボトルネックを切り分けたうえで適用するのが安全です。

PaperMC公式ドキュメントでは、Aikarフラグ(およびStart Script Generator)を案内しつつ、十分なメモリを割り当てること、そしてOSや他プロセスのための余裕を残すこと(サーバー環境により目安は異なる)を注意点として挙げています。


2025年最新版Aikarフラグの設定方法

Java 21対応の基本設定

(見出しは原文に合わせて残していますが、内容は2026年1月時点の運用実態に合わせて更新しています。)Minecraft Java Edition 1.20.5以降の運用では、サーバー側もJava 21(64-bit)が前提となります。Paperなど主要サーバーソフトも、該当バージョンではJava 21を前提に案内されることが多いです。

以下は、Paper公式ドキュメント(Aikar’s flags)で案内される系統の「Java 21 + G1GC」前提の起動例です(-Xms/-Xmx はサーバーに合わせて調整してください)。

java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui 

この設定の -Xms10G -Xmx10G 部分は、サーバーの物理メモリに応じて変更する必要があります。以下のメモリ別推奨設定はあくまで目安で、ワールド規模・同時接続・プラグイン構成・view/simulation distanceによって大きく変動します。

メモリ別推奨設定表

サーバーメモリ推奨Xms/Xmx想定プレイヤー数用途
8GB6G1-5人小規模・友人サーバー
16GB10-12G6-20人中規模コミュニティ
32GB16-20G21-50人大規模サーバー
64GB24-32G51-100人企業レベル
128GB以上32G以上100人以上商用サーバー

重要な注意点:サーバーの全メモリをマインクラフトに割り当てないでください。OSや監視/バックアップ等のプロセスのために余裕を残す必要があります(目安は環境差があるため、Paper公式ドキュメントの注意点も併読推奨)。

起動スクリプトの作成と実行

Linux/Mac用起動スクリプト(start.sh)

#!/bin/bash java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui 

実行権限を付与して起動します。

chmod +x start.sh ./start.sh 

Windows用起動スクリプト(start.bat)

@echo off java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui pause 

ダブルクリックで実行できます。


各フラグの詳細解説と技術的背景

メモリ管理に関するフラグ

-Xms / -Xmx(ヒープサイズ設定)

最小ヒープサイズ(-Xms)と最大ヒープサイズ(-Xmx)を同じ値に設定することが、Aikarフラグの重要ポイントです。ヒープの自動拡張/縮小による揺れを減らし、GCの挙動を安定させる狙いがあります。

一方で「割り当てれば割り当てるほど良い」とは限りません。ヒープを過剰に大きくすると、GCの作業量が増えたり、メモリ帯域/CPUキャッシュ効率の面で不利になる場合もあります。サーバーの用途・同時接続・ワールド規模に応じて、計測しながら適正値を探すのが安全です。

-XX:G1HeapRegionSize=8M

G1GCはヒープを「リージョン」に分割して管理します。リージョンサイズやヒープの状況によっては、巨大(Humongous)扱いの割り当てが増えると回収が難しくなることがあるため、Aikarフラグでは明示的な指定が例示されています。実際の最適値はヒープサイズ等にも左右されるため、まずはPaper公式の推奨例を出発点にしてください。

ガベージコレクション最適化フラグ

-XX:G1NewSizePercent=30 / -XX:G1MaxNewSizePercent=40

新世代(Young Generation)の割合を調整し、短命オブジェクトを新世代で効率よく回収することを狙います。マイクラは短命オブジェクトが多くなりやすいため、新世代の設計が合わないとGCが頻発してTPSが乱れやすくなります。

-XX:MaxGCPauseMillis=200

GCポーズ目標を設定します。低くしすぎると回収が追いつかず別のGCが重くなる場合があり、高くしすぎると体感の引っかかりが出やすくなります。Paper公式の推奨値を基準に、GCログやsparkの計測を見ながら調整するのが安全です。

-XX:MaxTenuringThreshold=1

オブジェクトがOld世代へ昇格するまでの閾値を調整します。マイクラの負荷特性(短命が多い)を踏まえた設定例として提示されることがありますが、プラグイン/Mod構成によって挙動が変わるため、適用後はGCログやsparkで悪化していないか確認してください。

-XX:SurvivorRatio=32

サバイバー領域とEden領域の比率を調整します。上記のTenuring系設定と合わせてバランスを取る意図ですが、こちらも環境差が大きい項目です。

パフォーマンス向上フラグ

-XX:+AlwaysPreTouch

起動時にメモリページを事前に確保・初期化し、実行中のページフォルト由来の揺れを抑える目的で使われます。大きなヒープを割り当てる場合、起動が遅くなることがあります。

-XX:+DisableExplicitGC

プラグイン等が明示的にGCを呼び出すことで、意図しない大きな停止が起きるケースを避ける狙いがあります。ただし、すべての環境で常に正解とは限らないため、導入後はログ・計測で影響を確認してください。

-XX:+PerfDisableSharedMem

JVMのパフォーマンスデータ共有メモリに関する挙動を変更します。環境によってはI/Oや権限周りの影響を避ける目的で使われます。


GCログの有効化とパフォーマンス監視

GCログ設定(Java 11以降)

Aikarフラグを適用した後、GCの動作を監視することが重要です。以下のフラグを追加することで、GCログを有効化できます。

Java 11以降

-Xlog:gc*:logs/gc.log:time,uptime:filecount=5,filesize=1M 

この設定により、logs/gc.log にGCログが記録されます。ログ出力は通常軽微ですが、環境や出力量によっては影響がゼロではないため、必要に応じてログレベルを調整してください。

Sparkプラグインによるプロファイリング

GCログに加えて、Sparkを使用することで、リアルタイムのパフォーマンス分析が可能です。

Sparkプラグインのインストール

  1. SpigotMC公式ページ(または公式ドキュメント)から入手
  2. plugins/ フォルダに配置
  3. サーバーを再起動

基本的な使い方(例)

/spark profiler start # プロファイリング開始 /spark profiler stop # プロファイリング停止とレポート生成 /spark gc # GC統計の表示 /spark heapdump # ヒープダンプの作成 

Sparkは、CPUプロファイリング、メモリ分析、GC監視などを統合した解析ツールです。生成されたレポートは共有でき、他の管理者やコミュニティに相談する際に便利です(詳細はSpark公式ドキュメントも参照してください)。


PaperMCとの組み合わせで最大のパフォーマンスを実現

PaperMCの導入とAikarフラグの相乗効果

PaperMC(Paper)は、Spigot互換のサーバーソフトウェアで、パフォーマンス改善や運用向け機能が充実しています。AikarフラグはJVM側の最適化、Paperはサーバー実装側の最適化という位置づけのため、併用することでGC由来のスパイクを抑えつつ運用しやすい構成にできます。

PaperMCの導入手順

  1. PaperMC公式サイトから対象バージョンのPaperをダウンロード(例:Minecraft 1.21.11)
  2. paper.jar をサーバーフォルダに配置
  3. 上記のAikarフラグ起動スクリプトで -jar paper.jar を指定
  4. 初回起動でEULA同意と設定ファイル生成
  5. Paperの設定(config/paper-global.yml / config/paper-world-defaults.yml など)で必要に応じて調整

paper-world-defaults.ymlの推奨設定

# 注意:項目名/階層はPaperのバージョンで変わることがあります。 # 最新の設定キーはPaper公式ドキュメント(Configuration)で確認してください。 chunks: auto-save-interval: 6000 # 自動セーブ間隔(tick) max-auto-save-chunks-per-tick: 6 # 1tickあたりの最大保存チャンク数 hopper: cooldown-when-full: true # フルホッパーのクールダウン disable-move-event: false # 移動イベント(互換性重視ならfalse) unsupported-settings: fix-invulnerable-end-crystal-exploit: true 

これらの設定は、チャンクの自動保存やホッパー処理など、負荷が出やすいポイントを調整する例です。最適化は「変更→ピーク時間に計測→戻せるように記録」を徹底し、効果が出たものだけ残すのが安全です。


トラブルシューティングとよくある問題

メモリ不足エラーの解決

Aikarフラグ適用後、以下のエラーが出る場合があります。

java.lang.OutOfMemoryError: Java heap space 

原因と対処法

  1. 割り当てメモリが不足している-Xms/-Xmx の値を増やす(ただしOS分の余裕は残す)
  2. メモリリーク/過剰消費の可能性:Sparkで /spark heapdump 等を使い、消費しているプラグインや処理を特定
  3. チャンク・距離設定が重すぎるview-distance / simulation-distance を下げて効果を計測

Old世代GCが頻繁に発生する場合

Sparkで /spark gc を実行し、Old世代のGC傾向を確認します。頻度が高く、かつTPSの乱れが見える場合は、以下のように段階的に調整します。

  1. G1MixedGCLiveThresholdPercent を下げる:Mixed GCで回収対象を増やす(例:90→85)
  2. G1ReservePercent を下げる:予約領域を減らす(例:20→15)
  3. メモリを増やす/負荷源を減らす:根本は負荷源(プラグイン、距離、エンティティ、I/O)を潰すこと

起動スクリプトが動作しない場合

Linux/Mac

# Java 21がインストールされているか確認 java -version # 実行権限があるか確認 ls -l start.sh # 権限付与 chmod +x start.sh 

Windows

# Java 21がインストールされているか確認 java -version # パスにスペースがある場合は引用符で囲む "C:\Program Files\Java\jdk-21\bin\java.exe" -Xms10G ... 

マインクラフトサーバーを快適に動かすためのVPS選び

Aikarフラグを最大限活用するには、十分なメモリと高性能なCPUを持つサーバー環境が不可欠です。自分に合ったサーバーを見つけるには、レンタルサーバー比較診断サイトを利用すると、予算やプレイ人数に応じた最適なVPSを簡単に見つけられます。

ConoHa for GAME(コノハ for GAME)

ConoHa for GAMEは、マインクラフト専用のテンプレートが用意されているゲーム特化型VPSサービスです。初期費用無料で月額1,065円から利用でき、最短25秒でマイクラサーバーが立ち上がります。

管理画面から起動設定を編集でき、初心者でも最適化されたサーバーを構築しやすいのが特徴です。自動バックアップ機能付きで、Javaバージョンの切り替えも可能です。高性能なCPUとSSDを搭載しており、複数人が同時接続しても快適に動作しやすい構成です。

XServer VPS for Game(エックスサーバー VPS for Game)

XServer VPS for Gameは、国内最大級のホスティング企業が提供するゲーム専用サーバーです。月額830円から利用可能で、マインクラフトサーバーの構築が管理画面から数クリックで完了します。

NVMe SSDを搭載しているため、チャンクのロードや保存が高速で、JVM最適化と組み合わせることで快適なプレイ環境を狙えます。無料お試し期間の有無や内容は時期により変わるため、最新は公式を確認してください。

KAGOYA CLOUD VPS(カゴヤ CLOUD VPS)

KAGOYA CLOUD VPSは、老舗企業のVPSサービスです。日額課金など柔軟な料金体系を選べるプランもあり、短期間のイベント用サーバーとしても活用できます。

柔軟なスペック変更が可能で、最初は小さめのプランで試し、プレイヤー増加に合わせて上位プランへ移行する、といった使い方ができます。国内データセンターで低遅延を狙いやすい点も特徴です。

さくら VPS(Sakura VPS)

さくら VPSは、長年の運用実績がある国内VPSサービスです。低価格帯から選べ、安定運用を重視する場合の候補になります。

スタートアップスクリプト等を利用して自動構築できるケースもあり、コストを抑えながら運用したい方に適しています。管理画面や提供機能はプランにより異なるため、最新は公式を確認してください。


関連動画:Aikarフラグ設定解説

AikarフラグやPaper運用、JVMメモリ設定を視覚的に理解したい方には、以下の日本語の動画が参考になります(動画は環境やバージョン差があるため、最終的には公式ドキュメントも併読推奨)。

最新版マイクラサーバーの建て方(複数方式まとめ)

低スペックPCでマイクラサーバーを建てる(負荷・設定の考え方)

メモリ割り当て(JVM引数)の基本(考え方の整理)

いずれも「まず動かす→計測→原因特定→必要な最適化だけ残す」という流れを意識すると、Aikarフラグの適用判断や調整がスムーズになります。


よくある質問(FAQ)

Q1. Aikarフラグはどのサーバーソフトウェアで使えますか?

Java版マインクラフトのJavaプロセスとして起動するサーバーであれば、基本的にJVM引数として付与できます。代表例はPaper、Spigot、Purpur、Pufferfishなどです。統合版(Bedrock Edition)サーバーにはJVMが存在しないため、Aikarフラグは使用できません。

Q2. 8GBのサーバーメモリでも効果はありますか?

効果を感じるケースはありますが、8GB環境ではOS分の余裕を確保しつつ、-Xms/-Xmx を大きめに確保する必要があり、構成次第で余裕が少なくなりがちです。小規模(少人数・軽い構成)なら動作することも多い一方、プラグインが増える・距離設定が重い・同時接続が増えると不足しやすいので、状況に応じて上位プラン(16GB以上)への移行も検討してください。

Q3. Aikarフラグを設定したのにラグが減りません。原因は何ですか?

Aikarフラグは主にGC由来の揺れを抑えるため、原因が別にある場合は改善が限定的です。よくある原因は、CPUボトルネック(シングルスレッド性能)、ディスクI/O遅延、重いプラグイン、過剰なエンティティ/タイルエンティティ、距離設定(view/simulation)、ネットワーク遅延などです。Sparkで /spark profiler start を実行し、何がボトルネックかを特定してください。

Q4. Java 8やJava 17でもAikarフラグは使えますか?

Aikarフラグ自体は古いJavaでも一部使えますが、2026年1月時点の現行運用(例:Minecraft 1.20.5以降、1.21.11など)ではJava 21(64-bit)が前提です。該当バージョンを動かす目的なら、Java 21へ移行してください。古いJavaでは、フラグが無効化されたり、推奨構成と挙動が一致しない可能性があります。

Q5. Aikarフラグを適用したら逆にラグが増えました。どうすればいいですか?

まずは割り当てメモリ量が適切か(OS分の余裕を残しているか)を確認してください。次に、GCログやSparkで「GCが増えたのか」「別の処理が重いのか」を切り分けます。G1GCの調整値(例:MaxGCPauseMillis や Mixed GC 系)を変える前に、距離設定・エンティティ・重いプラグイン・I/Oを優先して疑うのが安全です。どうしてもGC由来なら、まずはPaper公式のStart Script Generatorで生成した推奨値に戻し、そこから差分を最小化して調整してください。


まとめ

Aikarフラグは、マインクラフト(Java版)サーバーのGC由来のラグスパイクを抑えるための代表的なJVM最適化手法です。-Xms-Xmx を同値に揃え、G1GC前提の推奨設定を出発点にすることで、TPSの安定化を狙えます。2026年1月時点の現行運用(Minecraft 1.20.5以降、1.21.11など)ではJava 21(64-bit)が前提となるため、Javaバージョン要件も含めて整えたうえで適用してください。

設定後は、Sparkや/timings、GCログで定期的に監視し、環境に合わせて微調整することが重要です。十分なメモリと高性能CPUを備えたVPSを選び、レンタルサーバー比較診断サイトで最適なサーバーを見つけて、快適なマイクラサーバー運営を始めましょう。


出典

目次