命令用法 
注意
/sparkb、/sparkv 和 /sparkc 是 BungeeCord、Velocity 以及 Forge/Fabric 专用的命令,在使用对应服务端时应该将 /spark 替换成上述的命令。
分析器 
/spark profiler 
子命令 profiler 可以控制 spark 的分析器。
执行命令所需权限为 spark 或 spark.profiler`。
如果分析器已经启动,你可以输入下面这些命令:
/spark profiler open打开分析报告页而无需停止;/spark profiler stop停止分析并浏览分析结果;/spark profiler cancel取消分析操作,并取消上传报告。
在其他情况下,你可以使用这些基本的操作命令:
/spark profiler start在默认操作模式下开始分析;/spark profiler stop停止分析并浏览结果;/spark profiler info检查当前分析的状态。
这里还有一些额外的标志参数,可以用于控制分析器。如:
/spark profiler start --timeout <秒>开始分析,并在给定的时间之后自动停止;/spark profiler start --thread *开始分析,并记录所有线程;/spark profiler start --alloc开始分析,并分析内存分配(内存使用情况)而非 CPU 的使用情况。
高级用户参数
你可以使用以下命令:
/spark profiler start --interval <毫秒>开始分析,并按参数中的间隔时间采样(默认值为 4,表示采样间隔为 4 毫秒);/spark profiler start --thread *开始分析,并记录所有线程;/spark profiler start --thread <线程名称>开始分析,并记录参数所给定的线程;/spark profiler start --only-ticks-over <毫秒>开始分析,但只对时间长度超过给定值的滴答进行采样;/spark profiler start --regex --thread <正则表达式>开始分析,且只分析名称符合给定正则表达式的线程;/spark profiler start --combine-all开始分析,但将所有线程都组合在一个根节点下;/spark profiler start --not-combined开始分析,但禁用来自同一线程池的线程组;/spark profiler start --force-java-sampler开始分析,并强制使用 Java 采样而非异步采样;/spark profiler start --alloc --alloc-live-only开始分析内存分配,且只保留在结束时仍未被内存回收清理的对象数据;/spark profiler start --interval <字节>开始分析内存分配,且只按给定速度采样(默认值是524287,即 [i]512 KB[/i]);/spark profiler stop --comment <注释>停止分析,并在浏览界面中填写注释;/spark profiler stop --separate-parent-calls停止分析,并在浏览界面中将不同父方法调用的内容分开显示。([i]已弃用[/i])/spark profiler stop --save-to-file将文件保存至本地文件夹而非上传至网络。
健康分析 
/spark health 
子命令 health 会产生一份服务器的健康报告,其中包含 TPS、CPU、内存和硬盘的使用情况。
执行命令所需权限为 spark 或 spark.healthreport。
你可以使用以下命令:
/spark health --memory会让报告中附带 JVM 内存的使用情况;/spark health --network会让报告中附带系统网络的使用情况。
/spark ping 
子命令 ping 会输出全体玩家延迟的平均循环时间(或是指定玩家的延迟),并取三位小数。
你可以使用以下命令:
/spark ping来浏览有关所有玩家平均延迟的信息;/spark ping --player <玩家名称>返回指定玩家的延迟循环时间。
执行命令所需权限为 spark 或 spark.ping。
/spark tps 
子命令 tps 会输出服务器 TPS(每秒刻数)比率和 CPU 的使用情况。
执行命令所需权限为 spark 或 spark.tps。
/spark tickmonitor 
子命令 tickmonitor 可以控制刻监视器(Tick Monitor)。
执行命令所需权限为 spark 或 spark.tickmonitor。
在不带参数的情况下,执行这条命令,可以控制监视器的开和关。
你可以使用以下命令:
/spark tickmonitor --threshold <比例>启动刻监视器,但只记录超过刻时间间隔一定百分比的刻;/spark tickmonitor --threshold-tick <毫秒>启动刻监视器,但只记录 MSPT(每刻毫秒数,Milliseconds per Tick)超过给定参数的刻;/spark tickmonitor --without-gc启动刻监视器,但禁用 GC(内存垃圾收集,Garbage Collection)活动的记录。
内存使用 
/spark gc 
子命令 gc 会显示服务器 GC(内存垃圾收集,Garbage Collection)的历史记录。
执行命令所需权限为 spark 或 spark.gc。
/spark gcmonitor 
子命令 gcmonitor 管理服务器的 GC(内存垃圾收集,Garbage Collection)监视器系统。
执行命令所需权限为 spark 或 spark.gcmonitor。
/spark heapsummary 
子命令 heapsummary 会产生一份内存(堆)转储摘要,并将它上传到浏览器中。
执行命令所需权限为 spark 或 spark.heapsummary。
/spark heapdump 
子命令 heapdump 会产生一份堆转储(.hprof 格式的快照)文件,并将它保存在本地。
你可以使用以下命令:
/spark heapdump --compress <类型>可以指定堆转储文件压缩为的格式。支持的未见类型有 gzip、xz 以及 lzma;/spark heapdump --include-non-live可以指定所要包含的“非活跃”对象(不可访问且符合 GC 回收条件的对象);[i](已弃用)[/i]/spark heapdump --run-gc-before可以让 JVM 在堆转储生成前启用 GC。[i](已弃用)[/i]
杂项 
/spark activity 
子命令 activity 能显示 spark 最近活动的有关信息。
执行命令所需权限为 spark 或 spark.activity。
你可以使用以下命令:
/spark activity --page <页码>可以浏览指定页面。
另见 
- 有关刻和滴答的释义:https://zh.minecraft.wiki/w/刻
 - 部分译名参考自站内搬运帖:https://www.mcbbs.net/thread-823209-1-1.html
 - 部分译名参考自中文维基:https://zh.minecraft.wiki/w/刻
 - 部分译名参考自知乎文章 《由浅入深了解GC原理》:https://zhuanlan.zhihu.com/p/100475619
 
 SnowCutieOwO