Merge remote-tracking branch 'origin/main'

This commit is contained in:
lilingfengdev 2024-09-19 21:27:21 +08:00
commit f9a1f518b6
8 changed files with 87 additions and 44 deletions

View File

@ -40,6 +40,8 @@ MiniMessage 的实质是一个叫 Adventure 的库,这是它的 [文档](https:/
:::
[在线编辑](https://mcg.tuanzi.ink)
和 [格式化代码](format-code.md) 篇一样,用一个 TrMenu 菜单配置展示下:
```

View File

@ -11,11 +11,13 @@ slug: /optimize/jvm/dragonwell
## 基础
```shell
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3
-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseVtableBasedCHA -Dcom.alibaba.enableFastSerialization=true
```
这些是基础参数
如果使用的是从 GitHub 下载的预览版可以添加`-XX:+UseBigDecimalOpt -XX:+ReduceNMethodSize`
## ZGC
Dragonwell 11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJDK 15+的 ZGC补丁,使得Dragonwell的ZGC可以投入生产环境
@ -27,13 +29,9 @@ Dragonwell 11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJD
添加参数
```shell
-XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:G1ConcRSHotCardLimit=16
-XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:G1ConcRSHotCardLimit=16 -XX:+G1BarrierSimple
```
## 内联优化
添加参数`-XX:+UseVtableBasedCHA`
## 对象头压缩
可以节约10%左右的Java对象内存占用,并可能提升程序性能。**目前仅支持G1GC和ParallelGC**

View File

@ -23,7 +23,13 @@ x86 Java 8 用户可以添加以下附加参数:
-XX:+UseXMMForArrayCopy
```
G1GC 参数
如果使用的是从 GitHub 下载的预览版可以添加
```shell
-XX:+UseBigDecimalOpt
```
## G1GC 参数
```shell
-XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30
@ -61,4 +67,8 @@ Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程
## G1ElasticHeap
G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,你需要通过以下选项使用 G1 GC`-XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit`
G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,你需要通过以下选项使用 G1 GC
```shell
-XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit
```

View File

@ -33,8 +33,6 @@ flowchart TD
好的兼容性 -->|不需要| E[Azul Zing]
```
这可能与你想的不太一样
:::tip Zulu的性能
根据官方对 Zulu 的定位,Zulu 的重点是**安全性和稳定性**,而非性能
@ -57,6 +55,61 @@ GraalVM 在 22.3.0 修复了所有已知的 Minecraft 错误
:::
### 下载
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<Tabs queryString="jvm-download">
<TabItem value="dragonwell" label="Dragonwell">
Dragonwell 分为 Standard Edition 和 Extended Edition,推荐下载 Extended Edition
- [官网](https://dragonwell-jdk.io/) 下载区域选择`China Mainland`
- [Dragonwell 8 预览](https://github.com/dragonwell-project/dragonwell8/releases)
- [Dragonwell 11 预览](https://github.com/dragonwell-project/dragonwell11/releases)
</TabItem>
<TabItem value="graalvm" label="GraalVM">
GraalVM 分为 Community Edition(CE) 和 Enterprise Edition(EE),除非你服务器大到会被 Oracle 找上门,不然请选择 Enterprise Edition
- [下载 EE](https://www.graalvm.org/downloads/)
- [下载 CE](https://github.com/graalvm/graalvm-ce-builds/releases/)
:::tip
Oracle 官网同样提供 GraalVM,但是上面的 GraalVM EE 包含了企业版套件,这些MC根本用不到,只需要企业版编译器就可以了
:::
</TabItem>
<TabItem value="zing" label="Azul Zing">
Azul Zing 不能直接被下载,需要填写试用申请表,但我们通过神秘手段搞到了安装包
- [RPM](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux.x86_64.rpm)
- [TAR.GZ](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_x64.tar.gz)
- [DEB](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_amd64.deb)
- [官网](https://www.azul.com/downloads/#prime)
</TabItem>
<TabItem value="zulu" label="Azul Zulu">
Azul Zulu 支持 Java 8 以上,Java 7 和 6 需要成为客户才能下载
- [官网](https://www.azul.com/downloads/?package=jdk&show-old-builds=true#zulu)
</TabItem>
<TabItem value="openj9" label="OpenJ9">
OpenJ9 有认证版和非认证版,主要是因为和 OpenJ9 的关系和操作系统的关系而使用不同的许可证罢了,本质代码是一样的,直接下`IBM Semeru Runtime Open Edition`就行
- [官网](https://developer.ibm.com/languages/java/semeru-runtimes/downloads/)
</TabItem>
</Tabs>
## 垃圾回收器
经过我们的多次测试,G1GC和ZGC 最适合MC服务器(还有一个 Zing C4)

View File

@ -54,13 +54,6 @@ C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他垃
使用`-XX:+UseZST` 开启
## 下载
虽然需要公司账户,但我们通过神秘手段搞到了安装包,都是JDK
[RPM](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux.x86_64.rpm)
[TAR.GZ](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_x64.tar.gz)
[DEB](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux_amd64.deb)

View File

@ -9,7 +9,7 @@ sidebar_position: 6
## 面板
查看[通用 | 面板搭建](/docs/process/dashboard.md)
查看[通用 | 面板搭建](https://yizhan.wiki/NitWikit/process/dashboard)
## ServerCtrl

View File

@ -47,7 +47,7 @@ Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题。
此类核心的存档结构有些不同
如果你是从非 Bukkit 系核心或单人存档迁移,请查看[ Leaves 的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端)
如果你是从非 Bukkit 系核心或单人存档迁移,请查看[Leaves 的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端)
:::
@ -71,9 +71,7 @@ flowchart TD
生电 --> 1.18以下
生电 --> 1.18以上
1.18以下 --> Purpur
1.18以上 --> 假人,以及一些偏门的特性
假人,以及一些偏门的特性 -->|需要| Leaves
假人,以及一些偏门的特性 -->|不需要| Leaf
1.18以上 --> Leaves
1.16.5+ --> 高性能
高性能 --> 1.19以上
1.19以上 --> Leaf

View File

@ -17,13 +17,13 @@ sidebar_position: 8
进入github.com点击sign up
![屏幕截图 2024-08-11 163001.png](https://imgos.cn/2024/08/11/66b8765b6bcd8.png)
![屏幕截图 2024-09-16 082129.png](https://image.dooo.ng/c/2024/09/16/66e77a1f926ed.webp)
进入后按照提示完成注册(看不懂自己用翻译)
进入主页后点击左上的new(绿色的)
![屏幕截图 2024-08-11 163405.png](https://imgos.cn/2024/08/11/66b876de014f8.png)
![屏幕截图 2024-09-16 082239.png](https://image.dooo.ng/c/2024/09/16/66e77a62129d2.webp)
会跳转到一个界面
@ -32,13 +32,13 @@ Repository name填 你的用户名.github.io
如果不会git的话就勾选Add a README
然后点Create repository
![微信图片_20240811163744.png](https://imgos.cn/2024/08/11/66b877b934816.png)
![微信图片_20240916082548.png](https://image.dooo.ng/c/2024/09/16/66e77b19a55fd.webp)
会直接到创建的项目主页
点Add file 会出来两个选项点Upload files
![屏幕截图 2024-08-11 163900.png](https://imgos.cn/2024/08/11/66b8780401ac8.png)
![微信图片_20240916082915.png](https://image.dooo.ng/c/2024/09/16/66e77be956da5.webp)
会来到上传界面,上传你的网站源码(首页的名字要改成index)
@ -46,13 +46,14 @@ Repository name填 你的用户名.github.io
上传完后点Commit changes
![微信图片_20240811164435.png](https://imgos.cn/2024/08/11/66b879592f5bb.png)
![微信图片_20240916083119.png](https://image.dooo.ng/c/2024/09/16/66e77c63cfbc1.webp)
然后你访问 你的用户名.github.io就可以访问了
如果你做到这一步至此你的网站已经是搭建完成了。但是由于某些特别的原因,大陆访问 Github Pages 服务比较困难。为了保证不懂技术的普通玩家们顺利访你的服务器官网,可以选择以下方式
### 2\.cloudflare saas回源
注意!如果想要域名访问要先在github项目的settings-pages-Custom domain 添加域名
先将你的回源域名绑定到cloudflare
@ -62,22 +63,22 @@ Repository name填 你的用户名.github.io
你的用户名.github.io 选择开启小黄云 点保存
![微信图片_20240811165109.png](https://imgos.cn/2024/08/11/66b87ad8100c1.png)
![微信图片_20240916091413.png](https://image.dooo.ng/c/2024/09/16/66e787097296c.webp)
然后来到ssl/tls-自定义主机名
然后选择开通,如果它提示你要绑卡的话,如果你没有卡,你可以上闲鱼买一个15块的代绑
开通完成后,先在回退源那输入你刚刚创建的DNS记录origin.你的回源域名
![微信图片_20240811165404.png](https://imgos.cn/2024/08/11/66b87b8629e25.png)
![微信图片_20240916091834.png](https://image.dooo.ng/c/2024/09/16/66e78777d3cb1.webp)
等待到那里显示生效后 点击添加自定义主机名
![屏幕截图 2024-08-11 165519.png](https://imgos.cn/2024/08/11/66b87bd9426cf.png)
![微信图片_20240916092036.png](https://image.dooo.ng/c/2024/09/16/66e787f2550a8.webp)
自定义主机名填你的用来开网站的域名
填完后点击添加
![微信图片_20240811165712.png](https://imgos.cn/2024/08/11/66b87c41ed2bb.png)
![微信图片_20240916092238.png](https://image.dooo.ng/c/2024/09/16/66e7886977c18.webp)
然后按照提示完成txt授权
@ -85,7 +86,7 @@ Repository name填 你的用户名.github.io
添加一个类型为CNAME 名称为cdn 内容为
cf-cname.xingpingcn.top 不需要开启小黄云
![微信图片_20240811170024.png](https://imgos.cn/2024/08/11/66b87d02bf0fb.png)
![微信图片_20240916092435.png](https://image.dooo.ng/c/2024/09/16/66e788e814078.webp)
然后来到你的主域名 添加DNS记录
@ -149,8 +150,6 @@ cf-cname.xingpingcn.top 不需要开启小黄云
在控制台输入apt install nginx
![屏幕截图 2024-08-11 170304.png](https://imgos.cn/2024/08/11/66b87db46ee00.png
然后找到var-www-html将网站源码上传上去
随后在 nginx 安装目录中执行 `./nginx` 即可运行服务。
@ -161,30 +160,20 @@ cf-cname.xingpingcn.top 不需要开启小黄云
在浏览器中输入 https://nginx.org/en/
![屏幕截图 2024-08-11 170434.png](https://imgos.cn/2024/08/11/66b87dffb19c8.png)
然后点击右边的download
![屏幕截图 2024-08-11 170519.png](https://imgos.cn/2024/08/11/66b87e2c21176.png)
进入后点击你电脑适合的版本
选择下载要下载带有windows这个词的
![屏幕截图 2024-08-11 170643.png](https://imgos.cn/2024/08/11/66b87e80b7120.png)
下载完之后解压文件
解压后进入文件夹找到名字为html的文件夹
![屏幕截图 2024-08-11 170738.png](https://imgos.cn/2024/08/11/66b87ec105cb1.png)
将你的源码上传上去。记住先把原来里面的文件给删掉再放
然后双击启动nginx.exe
![屏幕截图 2024-08-11 170845.png](https://imgos.cn/2024/08/11/66b87efdb500b.png)
为了保证网站时刻开启,建议为 nginx 设置开机自启。
<!--