forked from mirror/NitWikit
fix some
This commit is contained in:
parent
012004a937
commit
92e66bf344
@ -18,7 +18,7 @@ slug: /optimize/jvm/dragonwell
|
||||
|
||||
## ZGC
|
||||
|
||||
Dragonwell11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJDK 15+的 ZGC补丁,使得Dragonwell的ZGC可以投入生产环境
|
||||
Dragonwell 11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJDK 15+的 ZGC补丁,使得Dragonwell的ZGC可以投入生产环境
|
||||
|
||||
添加参数 `-XX:+UseZGC -XX:AllocatePrefetchStyle=1`以启用
|
||||
|
||||
|
@ -14,10 +14,6 @@ slug: /optimize/jvm/graalvm
|
||||
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:AllocatePrefetchStyle=3 -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+EagerJVMCI -Dgraal.TuneInlinerExploration=1
|
||||
```
|
||||
|
||||
## GraalVM Mod兼容
|
||||
|
||||
GraalVM EE 22.3.0 修复了所有已知的 Minecraft 错误
|
||||
|
||||
## G1GC
|
||||
|
||||
```shell
|
||||
@ -36,6 +32,4 @@ GraalVM EE 22.3.0 修复了所有已知的 Minecraft 错误
|
||||
|
||||
更激进的内联,在 Graal 中通过`-Dgraal.BaseTargetSpending=160`(默认为 120)和 OpenJDK 中的其他一些标志。具有较大缓存的 CPU 可能会从中受益
|
||||
|
||||
`-Dgraal.OptWriteMotion=true`和`-Dgraal.WriteableCodeCache=true` ,看起来不稳定,但在 GraalVM 22.3.0 中可能更稳定,显然,针对Mod
|
||||
|
||||
~~神无需优化~~
|
||||
`-Dgraal.OptWriteMotion=true`和`-Dgraal.WriteableCodeCache=true` ,看起来不稳定,但在 GraalVM 22.3.0 中可能更稳定
|
||||
|
@ -45,6 +45,18 @@ flowchart TD
|
||||
|
||||
:::
|
||||
|
||||
:::tip 兼容性
|
||||
|
||||
根据我们的测试,GraalVM,Dragonwell,Zulu 目前都没有被报告过不兼容
|
||||
|
||||
Zing 与 LuckPerms 以及一些特殊插件会有一点不兼容
|
||||
|
||||
OpenJ9 虽然内存占用很低,但是性能很差,并且与很多插件有不兼容(比如 Spark)
|
||||
|
||||
GraalVM 在 22.3.0 修复了所有已知的 Minecraft 错误
|
||||
|
||||
:::
|
||||
|
||||
## 垃圾回收器
|
||||
|
||||
经过我们的多次测试,G1GC和ZGC 最适合MC服务器(还有一个 Zing C4)
|
||||
@ -54,13 +66,13 @@ flowchart TD
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[选择]
|
||||
A --> 机器配置足够,起步4h8g,推荐8h8g
|
||||
A --> B[机器配置足够,起步4h8g,推荐8h8g]
|
||||
A --> 机器配置不达标
|
||||
机器配置足够,起步4h8g,推荐8h8g --> Java21,或者Dragonwell11
|
||||
机器配置足够,起步4h8g,推荐8h8g --> 其他版本
|
||||
Java21,或者Dragonwell11 --> ZGC
|
||||
其他版本 --> G1GC
|
||||
机器配置不达标 --> G1GC
|
||||
B --> C[Java 21+,或Dragonwell 11]
|
||||
B --> 其他
|
||||
C --> ZGC
|
||||
其他 --> G1
|
||||
机器配置不达标 --> G1
|
||||
```
|
||||
|
||||
ZGC 的无停顿可以给玩家带来更好的体验,并且更充分的利用多核
|
||||
|
@ -8,6 +8,8 @@ slug: /optimize/jvm/openj9
|
||||
|
||||
这些参数只适合 OpenJ9
|
||||
|
||||
**这些参数的主要目的是降低内存占用,而非优化性能**
|
||||
|
||||
## 基础
|
||||
|
||||
```shell
|
||||
|
@ -6,10 +6,18 @@ slug: /optimize/jvm/zing
|
||||
|
||||
# Azul Zing
|
||||
|
||||
~~神无需优化~~
|
||||
|
||||
通用内容的参数可以使用(比如大页),但不要自行指定GC,或其他优化参数
|
||||
|
||||
## 一步到位
|
||||
|
||||
```
|
||||
-XX:ProfileLogIn=readynow -XX:ProfileLogOut=readynow -XX:+FalconUseCompileStashing -XX:+CompactStrings
|
||||
```
|
||||
|
||||
勇者加上`-XX:FalconOptimizationLevel=3`
|
||||
|
||||
安装了 ZST 加上`-XX:+UseZST`
|
||||
|
||||
## ReadyNow
|
||||
|
||||
你大概已经注意到了,Zing的预热期很长,ReadyNow就是来解决这个问题的
|
||||
@ -36,7 +44,7 @@ C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他垃
|
||||
|
||||
## 更高级别的 Falcon 优化
|
||||
|
||||
使用选项`-XX:FalconOptimizationLevel=3`可以获得更高级别的优化,但会出现兼容性问题
|
||||
使用选项`-XX:FalconOptimizationLevel=3`可以获得更高级别的优化,但会出现更多兼容性问题
|
||||
|
||||
## Zing System Tool
|
||||
|
||||
@ -56,6 +64,3 @@ C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他垃
|
||||
|
||||
[DEB](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_amd64.deb)
|
||||
|
||||
## 一些特殊情况
|
||||
|
||||
zing和mariadb不要一起用
|
||||
|
@ -42,7 +42,7 @@ Spark是一个Minecraft的性能分析器,支持广泛(如 Bukkit,BungeeCord,Vel
|
||||
|
||||
1.12.2 和以下混合服优先使用 mod 版本,放入 mods 文件夹。
|
||||
|
||||
对于 Purpur Fork 服务器,默认自带 Spark,无需单独下载。
|
||||
对于 Purpur Fork 服务器或 Paper 1.21+,默认自带 Spark,无需单独下载。
|
||||
|
||||
#### /spark profiler
|
||||
|
||||
@ -62,6 +62,12 @@ Spark是一个Minecraft的性能分析器,支持广泛(如 Bukkit,BungeeCord,Vel
|
||||
|
||||
这是主要的指令,为了更多的功能,更精准的分析等可以在后面加上参数.具体请查看 [profiler 指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage)
|
||||
|
||||
:::tip
|
||||
|
||||
Spark 中内存占用并非平均内存占用,而是**瞬间内存占用**,所以有些时候会出现 Spark 上显示内存占用小实际很大的情况
|
||||
|
||||
:::
|
||||
|
||||
#### /spark health
|
||||
|
||||
子命令 health 会产生一份服务器的健康报告,其中包含 TPS、CPU、内存和硬盘的使用情况。
|
||||
|
@ -80,13 +80,13 @@ ServerBackup 一款备份插件,会由于找不到mca文件报错。
|
||||
|
||||
感谢 HaHaWTH 提供的测试结果,测试内容为使用 Chunky 加载半径 1000 格的方块并保存,测试核心为 Leaf ,实际结果可能与测试结果有出入
|
||||
|
||||
| 世界 | ANVIL(原版格式) | Linear(压缩比为一) | Linear(压缩比为六,默认压缩比) | Linear(压缩比为22)(最大压缩比)|
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 主世界 | 192MB | 142MB | 117MB | 92MB |
|
||||
| 地狱 | 118MB | 70MB | 60MB | 46MB |
|
||||
| 末地 | 87MB | 1.72MB | 1.2MB | 914KB |
|
||||
| 保存用时 | 3m18s | 3m50s | 4m44s | 23m21s |
|
||||
| 内存占用 | 3GB左右 | 3.1GB | 3.3GB | 3.4 ~ 18GB(极不稳定)|
|
||||
| 世界 | ANVIL(原版格式) | Linear(压缩比为一) | Linear(压缩比为六,默认压缩比) | Linear(压缩比为22)(最大压缩比) |
|
||||
|------|-------------|---------------|---------------------|-----------------------|
|
||||
| 主世界 | 192MB | 142MB | 117MB | 92MB |
|
||||
| 地狱 | 118MB | 70MB | 60MB | 46MB |
|
||||
| 末地 | 87MB | 1.72MB | 1.2MB | 914KB |
|
||||
| 保存用时 | 3m18s | 3m50s | 4m44s | 23m21s |
|
||||
| 内存占用 | 3GB左右 | 3.1GB | 3.3GB | 3.4 ~ 18GB(极不稳定) |
|
||||
|
||||
:::note
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user