结城希亚

频率不行,像我这种9900k能很轻松的带起大型模组服(bushi
不过虚拟机不显示睿频,所以只能看到3.6GHz,实际上大概有4.8GHz左右的频率

核心数可以不追求,但主频一定要高



Salt_lovely
本帖最后由 Salt_lovely 于 2020-3-31 23:58 编辑

现在市面上的MC服务端基本都是计算压主线程的,你就算有128个逻辑处理器,主频一致,那服务器TPS也和两个差别不大。

-3072,2560 (Area Seen 3 times)
Totals: 652 Entities - 2663 — Tile Entities - Summary:
HOPPER: 1042
Minecraft::tickTileEntity - nms.TileEntityPistoncount(4957780)  total(8.52% 120.236s, 18.16% of tick)
Minecraft::tickTileEntity - nms.TileEntityHoppercount(25764504)  total(3.82% 53.924s, 8.15% of tick)

1000+个漏斗?消耗资源占比8%的活塞?

Minecraft::Scheduled Block: Redstone Repeatercount(319652)  total(27.07% 382.101s, 57.72% of tick)
Minecraft::Scheduled Block: Observercount(270483)  total(5.69% 80.344s, 12.14% of tick)

消耗资源占比27%的中继器和5%的侦测器
(相对服务器总负载能力的占比是57%和12%)
你的玩家在玩什么奇怪的东西?

结论:如果是你的玩家人数太多而不是有人在玩高频/大规模红石的话,你的服务器卡顿是因为CPU不行



编辑内容:
  1. max-tick-time:
  2.   tile: 10
  3.   entity: 20
复制代码

你的服务器过载程度比你想象中的更加严重
你用这两个设置强行减少了tiles和实体的占用,所以会出现生物一卡一卡的情况(具体原理说起来有些复杂)。
换句话说,如果没有这两个限制,服务器里面的漏斗、各类怪物等等会将你的服务器TPS压得更低。
该换CPU了。

  1. spawn-limits:
  2.   monsters: 70
复制代码

bukkit.yml中得选项,这个70得意思是刷怪上限是70x玩家人数,你的玩家人数有20人,那么服务器最多会有1400只怪物的上限(实际计算有些复杂,你这个公式可以作估算)。。。
请改成25上下

奶油成精了
Salt_lovely 发表于 2020-3-31 23:52
现在市面上的MC服务端基本都是计算压主线程的,你就算有128个逻辑处理器,主频一致,那服务器TPS也和两个 ...

活塞有人一大片的弄,我用了红石检测,但是没办法检测到漏斗比较器和活塞,这三个组合起来高频都没办法

Salt_lovely
本帖最后由 Salt_lovely 于 2020-4-1 20:02 编辑
1965404875 发表于 2020-4-1 19:31
活塞有人一大片的弄,我用了红石检测,但是没办法检测到漏斗比较器和活塞,这三个组合起来高频都没办法 ...

1.12的paper没有快速红石选项....

不过漏斗的优化还是有方案的
spigot.yml中:
  1. ticks-per:
  2.   hopper-transfer: 8 #漏斗每隔多少tick传输一次
  3.   hopper-check: 1 #漏斗每隔多少tick检查一次
  4. hopper-amount: 1 #漏斗每次传输多少物品
复制代码

将漏斗传输间隔和传输数量等比例增大(比如从 8,1改为24,3)
增大漏斗检查间隔
像是这样:
  1. ticks-per:
  2.   hopper-transfer: 24 #漏斗每隔24tick传输一次
  3.   hopper-check: 10 #漏斗每隔10tick检查一次
  4. hopper-amount: 3 #漏斗每次传输3个物品
复制代码


当然副作用是有的,这会导致漏斗时钟误差增大,会导致漏斗精准计时的机器失效(不过应该没人会在生存里建这种机器吧)

第一页 上一页