sparkは、サーバーの何が重いかを数値で出すプロファイラです。サーバーのmodsかpluginsに入れるだけで使えます。
使い方は3コマンドです。/spark tpsで現状を確認し、/spark profiler startで60〜120秒計測し、/spark profiler stopで出るURLをブラウザで開きます。
結果はServer thread → tickの順に開き、時間の割合が大きい枝を辿ると原因のMODやエンティティが分かります。計測結果のURLは誰でも開けるので、公開の場に貼らないでください。
spark MODのダウンロードと導入
| 環境 | 入れる場所 | 配布 |
|---|---|---|
| Forge / NeoForge / Fabric | サーバーのmods |
Modrinth / CurseForge(MOD版) |
| Paper / Spigot | サーバーのplugins |
Modrinth / Hangar(プラグイン版) |
| クライアント | 自分のmods(FPS低下の調査用) |
MOD版 |
sparkはサーバー側だけで動きます。参加者は何も入れなくて構いません(Modrinthの区分は「どちらでも可」、2,315万DL。Java版26.3まで対応、2026-10-08確認)。 Fabric版はFabric APIが前提です。
手順
- 現状を数値で見る:
/spark tpsで直近のTPS(20が正常)とMSPT(1ティックの処理時間、50ms以下が正常)を表示。MSPTが50を超えていればサーバー処理が重いと確定 - 計測を始める:
/spark profiler startを実行。参加者が普段どおり遊んでいる状態で60〜120秒待つ。誰もいない時間に計測しても原因は出ない - 計測を止めてURLを開く:
/spark profiler stopでチャットにURLが出る。ブラウザで開くと結果が表示される(--timeout 120を付ければ自動で止まる) - 重い枝を辿る: 左のツリーで「Server thread」→「tick」を開き、割合(%)が大きい項目を順に展開する。MOD名やクラス名が出るところまで掘る
- 対処して再計測: 原因のMODを設定変更・削除し、同じ条件でもう一度計測。数値が下がっていれば解決
結果の読み方
| ツリーで上位に来る項目 | 意味 | 対処 |
|---|---|---|
tickNonPassenger / EntityTickList |
エンティティ(モブ・アイテム・経験値)が多い | モブ上限を下げる。サーバーのモブ数を制御する設定 |
tickBlockEntities |
機械・チェスト・かまど等の処理 | 装置の数を減らす。Create系はCreateが重い時 |
ChunkMap / ServerChunkCache |
チャンク生成・読み込み | Chunkyで事前生成。運営者向けMOD |
特定MODのパッケージ名(com.xxx.yyy) |
そのMODの処理 | 設定を見直す。改善しなければ外す |
PlayerList / ネットワーク系 |
通信・パケット | ビュー距離を下げる |
MODの名前でまとめて見たいときは、上部の表示切り替えで「Flat view」や検索を使うと、パッケージ名でフィルタできます。 「Self time」はその項目自身の処理時間、「Total time」は子の項目を含めた合計です。まずTotalで枝を辿り、最後にSelfが大きい項目を原因と判断します。
メモリが原因かどうか
| コマンド | 見るもの | 判断 |
|---|---|---|
/spark heapsummary |
メモリ上の何が多いか | 特定MODのクラスが上位なら、そのMODがメモリを消費している |
/spark gcmonitor |
GC(ガベージコレクション)の発生 | 数秒おきに走る・1回が数百msなら-Xmx不足 |
/spark health |
TPS・メモリ・CPUの要約 | 全体の状態を1画面で確認 |
GCが数秒おきに走っているなら、プロファイラより先にメモリを増やすほうが早く解決します。
必要量の目安はMODサーバーに必要なメモリ量、OutOfMemoryErrorが出ている場合はOutOfMemoryの対処へ。
よくあるパターン
- 人が集まる場所だけ重い: エンティティかブロックエンティティ。トラップタワーや大型装置の周辺
- 探索中だけ重い: チャンク生成。ワールド生成MODを入れているならChunkyで事前生成
- 時間とともに重くなる: メモリリーク。定期再起動で凌ぎつつ、heapsummaryで原因を探す
- 常に重い: MODの数そのもの。ModernFix・FerriteCoreで軽くし、それでも足りなければプラン変更
Official site
計測してメモリ不足と分かったら、プランを上げるのが最短の解決策です
【ConoHa for GAME】マルチプレイがかんたんにすぐ遊べるゲームサーバープラン価格は公式サイトで要確認(2026-09-08時点の表記)
よくある質問
- Q. spark MODはどこでダウンロードする?
- A. MOD版はModrinthかCurseForgeの「spark」のページから、サーバーのローダー(Forge・NeoForge・Fabric)とバージョンに合うファイルを選びます。Paper用のプラグイン版はModrinthかHangarにあります。
- Q. 計測中にサーバーは重くなる?
- A. ほぼ重くなりません。sparkはサンプリング方式で負荷が小さく、数分の計測なら参加者は気づきません。ただし長時間回し続けるものではないので、止め忘れに注意してください。
- Q. 結果のURLを誰かに見せて相談するときの注意は?
- A. URLを知っている人は誰でも見られます。信頼できる相手にだけ渡してください。当サイトの無料相談でもこのURLを送っていただければ原因を読み取れます。
- Q. クライアントのFPS低下も調べられる?
- A. 調べられます。自分の
modsにsparkを入れ、シングルプレイで同じコマンドを使うと、描画側(Render thread)の内訳が見えます。 - Q. コマンドが使えないのはなぜ?
- A. OP権限が必要です。Paperでは
sparkの権限をLuckPermsなどで付与します。 - Q. マイクラのどのバージョンで使える?
- A. 1.8以降の幅広いバージョンに対応しています。対応表は更新されるので、ダウンロード前にModrinthの配布ページで自分のバージョンとローダー(Forge/NeoForge/Fabric/Paper)の欄を確認してください。
- Q. 重いのはサーバー側か自分のPCか、どちらか分かる?
- A. 分かります。
/spark tpsのMSPTが50ms以下なのに自分の画面だけカクつくなら、原因はクライアント側(FPS)です。その場合は自分のmodsにsparkを入れてRender threadを見るか、影MODの必要スペックや軽量化MODを確認します。
sparkの結果があれば、どのMODやエンティティが何%の時間を使っているかが分かり、対処の順序が決まります。 全体の流れはMODサーバーが重い時の対処法にまとめています。
出典: spark公式ドキュメント(コマンド仕様)、Modrinth配布ページ(2026-09-08時点)。