Minecraft 服务器使用全部 CPU
Minecraft server use all CPU
我想在我的 raspberry PI 4-b 和 8 GB RAM 上创建一个私人 Minecraft 服务器(在 1.17.1 上)。
我已经安装了 Ubuntu 服务器 64 位和 openJDK 17 但实际上当我启动我的服务器时它会在几秒钟后回复我。
Can't keep up ! Is the server overloaded ? ...
我还用 htop 检查了进程,我可以看到 minecraft 至少需要大约 30 个线程并使用我所有的 CPU (400%) 所以我试图限制线程的数量但是 dosent 工作的...有人知道我可以做些什么来优化我的世界服务器吗?
还有我的 shell 启动我的世界服务器的脚本:
java -jar -server -Xmx4G -Xms1024M -XX:CICompilerCount=4 server.jar nogui
此外,这是我的 timings :
Pct Total Pct Tick Total Avg PerTick Count Event
24.99% 24.90% 83.62 s 12.45 ms 1.0 6.7k world - doTick
19.14% 19.07% 64.03 s 9.54 ms 1.0 6.7k world - tickEntities
6.01% 5.99% 20.10 s 2.99 ms 1.0 6.7k world_nether - doTick
4.41% 4.39% 14.74 s 2.19 ms 1.0 6.7k world_the_end - doTick
1.39% 9,303.90% 4.65 s 4,651.95 ms 0.0 0.0k World Save
0.44% 0.43% 1.46 s 0.22 ms 1.0 6.7k world_nether - tickEntities
0.42% 0.41% 1.39 s 0.21 ms 1.0 6.7k world - tracker
0.20% 0.20% 0.68 s 0.10 ms 1.0 6.7k world_the_end - tickEntities
0.10% 0.10% 0.32 s 0.05 ms 1.0 6.7k world_nether - tracker
0.03% 0.03% 0.11 s 0.02 ms 1.0 6.7k world_the_end - tracker
从您服务器的 your timings 中,有这一行:
1.39% 9,303.90% 4.65 s 4,651.95 ms 0.0 0.0k World Save
它代表了您的大部分问题。比如不是因为:
- 插件:无法快速修复(通过向插件owner/deleting报告)
- 不是 bukkit 事件问题
- 没有勾选实体(实体太多)
- RAM 太多
比如是因为保存,什么会造成这个问题:
- RAM: 8Go 可以接管 50 名玩家(包括插件),所以显然没有。
- Java: JDK 17 是最新的所以很难有这么多问题我不认为
- CPU:你说这个。有可能,但是能在这种产品上运行,不应该是这个,也不会超过9k%。
- 存储:我认为你的存储不好。它不是 SSD,所以您的整个服务器都在等待保存它。可以在 spigotmc 上用 this thread 证明。
如何解决?
这显然很难不购买新的存储空间。
你可以尝试不保存,除非没有任何玩家,例如。
您也可以尝试减少所有可以产生存储保存的功能:
- 升级自动保存(在
bukkit.yml
)
- 渲染距离(在
server.properties
)
- 升级 despawn 物品,箭头...(在
spigot.yml
)
- 降级 生成限制(在
bukkit.yml
)
我想在我的 raspberry PI 4-b 和 8 GB RAM 上创建一个私人 Minecraft 服务器(在 1.17.1 上)。
我已经安装了 Ubuntu 服务器 64 位和 openJDK 17 但实际上当我启动我的服务器时它会在几秒钟后回复我。
Can't keep up ! Is the server overloaded ? ...
我还用 htop 检查了进程,我可以看到 minecraft 至少需要大约 30 个线程并使用我所有的 CPU (400%) 所以我试图限制线程的数量但是 dosent 工作的...有人知道我可以做些什么来优化我的世界服务器吗?
还有我的 shell 启动我的世界服务器的脚本:
java -jar -server -Xmx4G -Xms1024M -XX:CICompilerCount=4 server.jar nogui
此外,这是我的 timings :
Pct Total Pct Tick Total Avg PerTick Count Event
24.99% 24.90% 83.62 s 12.45 ms 1.0 6.7k world - doTick
19.14% 19.07% 64.03 s 9.54 ms 1.0 6.7k world - tickEntities
6.01% 5.99% 20.10 s 2.99 ms 1.0 6.7k world_nether - doTick
4.41% 4.39% 14.74 s 2.19 ms 1.0 6.7k world_the_end - doTick
1.39% 9,303.90% 4.65 s 4,651.95 ms 0.0 0.0k World Save
0.44% 0.43% 1.46 s 0.22 ms 1.0 6.7k world_nether - tickEntities
0.42% 0.41% 1.39 s 0.21 ms 1.0 6.7k world - tracker
0.20% 0.20% 0.68 s 0.10 ms 1.0 6.7k world_the_end - tickEntities
0.10% 0.10% 0.32 s 0.05 ms 1.0 6.7k world_nether - tracker
0.03% 0.03% 0.11 s 0.02 ms 1.0 6.7k world_the_end - tracker
从您服务器的 your timings 中,有这一行:
1.39% 9,303.90% 4.65 s 4,651.95 ms 0.0 0.0k World Save
它代表了您的大部分问题。比如不是因为:
- 插件:无法快速修复(通过向插件owner/deleting报告)
- 不是 bukkit 事件问题
- 没有勾选实体(实体太多)
- RAM 太多
比如是因为保存,什么会造成这个问题:
- RAM: 8Go 可以接管 50 名玩家(包括插件),所以显然没有。
- Java: JDK 17 是最新的所以很难有这么多问题我不认为
- CPU:你说这个。有可能,但是能在这种产品上运行,不应该是这个,也不会超过9k%。
- 存储:我认为你的存储不好。它不是 SSD,所以您的整个服务器都在等待保存它。可以在 spigotmc 上用 this thread 证明。
如何解决?
这显然很难不购买新的存储空间。
你可以尝试不保存,除非没有任何玩家,例如。
您也可以尝试减少所有可以产生存储保存的功能:
- 升级自动保存(在
bukkit.yml
) - 渲染距离(在
server.properties
) - 升级 despawn 物品,箭头...(在
spigot.yml
) - 降级 生成限制(在
bukkit.yml
)