spark(スパーク)は、ゲームのパフォーマンスをテストし、パフォーマンスのボトルネックやカクつきを確認するためのツールです。ゲームがカクついたり遅延が大きい場合などに、sparkを使用できます。
0.5.3バージョン以降、gtoパッケージ内からsparkは削除されました。
ゲームが重くなったり、TPSが異常に低くなったり/MSPTが異常に高くなったり/CPUやメモリの使用率が高くなった場合は、手動でSparkをインストールしてテストすることができます:
ショートカットコマンド: /gtocore spark (sparkをインストールしていない場合は無効です)
注意すべきことは、
sparkは一部のカーネルで正常に動作しません。例えば 危険!MC Modがフリーズの原因:元凶はなんとこの一行のコード……_ビリビリ_bilibili
spark使用のasync-profiler は一部のLinuxカーネルと互換性がありません
最も近い spark 問題はこれら2つです:
#512 Spark-1.10.53 (Forge) を Alpine 3.18 で openjdk21-jre-headless を使用してクラッシュ これは Forge + 1.20.1 + spark 1.10.53 + JDK 21 で直接ネイティブクラッシュします。相手は Alpine/aarch64 で、あなたの Debian/amd64 ではありませんが、性質は同じで、どちらも spark のネイティブプロファイラーがホスト環境で直接クラッシュしています。
#535 Spark 1.20.1 Forge-47.4.10 (spark バージョン 1.10.53) が Java 25 と互換性がない これは Forge 1.20.1 + spark 1.10.53 + Java 25 互換性がなく、あなたの前の段階の現象と一致しています。
さらに:
#546 Spark 1.20.1 プロファイラーが動作しない
#560 VMThreadブリッジが見つかりません。サポートされていないJVMですか?
したがって、少なくとも2つの点を確認できます:
これはあなただけの奇妙な現象ではありません spark 1.10.53 は 1.20.1、Forge、Linux、異なるJDKの組み合わせで、確かにすでに誰かがプロファイラー関連のクラッシュ/使用不可の問題を報告しています。
ここでの問題はJava 25だけではありません あなたはすでに実際にテストしました:
JDK 25 クラッシュします
JDK 21 それでもクラッシュします。したがって、今はむしろ spark 1.10.53 のネイティブプロファイラーとあなたのこのLinuxコンテナ環境の組み合わせが互換性がない、Javaのメインバージョンの問題だけではありません。
私も見ました async-profiler 上流リリース:
ここには非常に関連性の高い修正の方向性が見られます:
v4.2: SafeAccessクラッシュ保護を再実装
v4.3: StackWalkerのクラッシュ保護を強化
v4.3: 最新のJDKでのコンパイルをサポート
v4.3: カーネルPERF_EVENT_IOC_REFRESHバグの回避策
v4.3: VM終了に関連する競合を修正