@@ -12,19 +12,19 @@ slug: /optimize/jvm/common
1212
1313当然,在动手前,让我们先试一试是不是系统已经支持了这项功能,在控制台执行此命令
1414
15- ``` shell
15+ ``` bash
1616java -Xlog:gc+init -XX:+UseLargePages -Xmx1g -version
1717```
1818
1919如果出现了以下字样,那么说明不完全兼容:
2020
21- ``` shell
21+ ``` bash
2222UseLargePages disabled, no large pages configured and available on the system.
2323```
2424
2525那么就说明当前系统并不支持大页,不过不要急,可以试一下这一行命令:
2626
27- ``` shell
27+ ``` bash
2828java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version
2929```
3030
@@ -34,13 +34,13 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version
3434
3535如果支持 LargePages,加上此参数
3636
37- ``` shell
37+ ``` bash
3838-XX:+UseLargePages -XX:LargePageSizeInBytes=2m
3939```
4040
4141如果支持 TransparentHugePages,加上此参数
4242
43- ``` shell
43+ ``` bash
4444-XX:+UseTransparentHugePages
4545```
4646
@@ -54,7 +54,7 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version
5454
5555如果你使用的是 Pufferfish 的分支 (Purpur,Leaf,Leaves,Gale),你可以添加此参数
5656
57- ``` shell
57+ ``` bash
5858--add-modules=jdk.incubator.vector
5959```
6060
@@ -64,19 +64,19 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version
6464
6565如果你使用的是 Leaf,你可以添加参数使用国内下载源:
6666
67- ``` shell
67+ ``` bash
6868-DLeaf.library-download-repo=https://maven.aliyun.com/repository/public
6969```
7070
7171如果你使用的是 Paper 1.21.6(及其分支) 之后的版本 ,可以使用以下系统属性配置 Maven 中心仓库镜像:
7272
73- ``` shell
73+ ``` bash
7474-Dorg.bukkit.plugin.java.LibraryLoader.centralURL=https://maven.aliyun.com/repository/central
7575```
7676
7777或者设置环境变量(优先级更高):
7878
79- ``` shell
79+ ``` bash
8080# Linux/MacOS
8181export PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central
8282
@@ -106,21 +106,21 @@ set PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central
106106
107107防止乱码
108108
109- ``` shell
109+ ``` bash
110110-Dfile.encoding=UTF-8
111111```
112112
113113如果仍然乱码,可以添加运行:
114114
115- ``` shell
115+ ``` bash
116116chcp 65001 # for Windows
117117```
118118
119119## 删除垃圾信息
120120
121121(仅适合 Leaf 或者 Gale)
122122
123- ``` shell
123+ ``` bash
124124-Dgale.log.warning.root=false -Dgale.log.warning.offline.mode=false
125125```
126126
@@ -129,15 +129,15 @@ chcp 65001 # for Windows
129129(仅适合 Linux 和 MacOS 系统,在 Windows 上无效)
130130(原版 Minecraft 仅在个人信息公钥签名中使用到 SecureRandom)
131131
132- ``` shell
132+ ``` bash
133133-Djava.security.egd=file:/dev/urandom
134134```
135135
136136## 异步输出 JVM 调试日志
137137
138138(仅适合 Java17 及以上)
139139
140- ``` shell
140+ ``` bash
141141 -Xlog:async
142142```
143143
@@ -149,7 +149,7 @@ chcp 65001 # for Windows
149149
150150(仅适合 Paper 和 Paper Fork)
151151
152- ``` shell
152+ ``` bash
153153-Dpaper.playerconnection.keepalive=60
154154```
155155
@@ -159,7 +159,7 @@ chcp 65001 # for Windows
159159
160160(仅适合 Paper 和 Paper Fork)
161161
162- ``` shell
162+ ``` bash
163163-Dpaper.disableWorldSymlinkValidation=true
164164```
165165
0 commit comments