Lonewolfi
本帖最后由 Lonewolfi 于 2022-9-2 22:13 编辑

1.18.2版本 | purpur核心 | 视距6 | CPU I9 12900K | 运行内存16G(服务器使用12G)

timings: https://timings.aikar.co/?id=b9ded6cfb9824c25a3baee813ad500a0

服务器30人 TPS 15-19
服务器35人+ TPS骤降 最低到个位数 (共加载约8500区块)

35人+ 内存使用在 3-10G之间反复横跳

是不是因为内存不够用了 开始强制清理内存 才导致的TPS骤降


解决:Infernal Mobs精英怪插件导致的卡顿

黄衣弟中弟
都有什么插件 还有内存推荐20G运行 还有你是不是生物刷新和漏斗什么的都没有限制?

黄衣弟中弟
生物刷新量和漏斗的速率这两个稍微限制一下应该可以给你的服务器tps提升很多

名副其实
占用较高的就是世界的实体和区块加载。
对于一个服务器来说,8500的区块加载已经有点要吃不消了。

如果服务器本身内存分配就不多,个人建议升级服务器配置,像高版本服务器必须要 16GB 才能安安稳稳开起来

Lonewolfi
黄衣弟中弟 发表于 2022-7-16 16:48
都有什么插件 还有内存推荐20G运行 还有你是不是生物刷新和漏斗什么的都没有限制? ...

生物刷新限制了每个玩家的上限(bukkit.yml内调整的,除了怪物是每人50上限,其他的刷新都很低),  漏斗确实没限制

Lonewolfi
名副其实 发表于 2022-7-16 16:55
占用较高的就是世界的实体和区块加载。
对于一个服务器来说,8500的区块加载已经有点要吃不消了。

分配了12G 然后发现内存在3-10G之前反复横跳 所以我才猜测是不是内存不够了 服务器开始强制释放内存

名副其实
Lonewolfi 发表于 2022-7-16 17:00
分配了12G 然后发现内存在3-10G之前反复横跳 所以我才猜测是不是内存不够了 服务器开始强制释放内存 ...

视距调到5
我推荐安装一些定时清理怪物或物品的插件
如果情况有所好转,说明问题出在实体上。

输入一下 /gc 我看看返回啥

Lonewolfi
名副其实 发表于 2022-7-16 17:02
视距调到5
我推荐安装一些定时清理怪物或物品的插件
如果情况有所好转,说明问题出在实体上。



名副其实

你看看,主世界(World) 和 空岛插件(SpreriorSkyblock 2)的世界(SuperiorWorld) 的区块加载数量那么大
能不卡就有鬼了

Lonewolfi
名副其实 发表于 2022-7-16 17:06
你看看,主世界(World) 和 空岛插件(SpreriorSkyblock 2)的世界(SuperiorWorld) 的区块加载数量那么大
能 ...

之前视距8主世界加载1.5W区块 太卡了 才降低到了6视距,主要是考虑玩家体验,太低的话体验不好.这是运行内存太小的问题吗

名副其实
Lonewolfi 发表于 2022-7-16 17:09
之前视距8主世界加载1.5W区块 太卡了 才降低到了6视距,主要是考虑玩家体验,太低的话体验不好.这是 ...

不是,这是加载区块实在是太多的问题
其他问题小到可以无视,就这个问题,包括 Timings 里面也看得出来
就是你区块太多

Lonewolfi
名副其实 发表于 2022-7-16 17:11
不是,这是加载区块实在是太多的问题
其他问题小到可以无视,就这个问题,包括 Timings 里面也看得出来
...

主要是高版本的区块加载有一些问题,我测试了一下 1.12.2版本spigot视距6区块加载数量是(6+1+6)的平方。到了1.18.2区块加载数量(6+2 + 1 + 6+2)的平方。我尝试一下降低到5视距试试,估计作用不大 单玩家加载区块视距6到5只降低了60个区块(很多玩家都是聚在一起的,可能加载区块数量降低的不会很明显)

名副其实
Lonewolfi 发表于 2022-7-16 17:14
主要是高版本的区块加载有一些问题,我测试了一下 1.12.2版本spigot视距6区块加载数量是(6+1+6)的平方。到 ...

上面所说只是一个附加的东西
最主要的还是得想办法把你服务器里已经加载的区块卸载掉

Lonewolfi
名副其实 发表于 2022-7-16 17:18
上面所说只是一个附加的东西
最主要的还是得想办法把你服务器里已经加载的区块卸载掉。 ...

paper有自动卸载区块 每10秒卸载一次 gc里大部分区块都是有玩家在加载的

名副其实
Lonewolfi 发表于 2022-7-16 17:20
paper有自动卸载区块 每10秒卸载一次 gc里大部分区块都是有玩家在加载的 ...

你高版本还在用 paper?
这不科学,赶快换成 purpur

高版本开paper 优化是不够的(

Lonewolfi
名副其实 发表于 2022-7-16 17:26
你高版本还在用 paper?
这不科学,赶快换成 purpur

不是 是paper是purpur的上游(purpur包含paper的所有功能)

名副其实
Lonewolfi 发表于 2022-7-16 17:35
不是 是paper是purpur的上游(purpur包含paper的所有功能)

paper+优化=airplane/tuinity+优化=purpur
什么上游下游,我只知道purpur是paper经过二次优化得到的

Flower_胡子
zombified_piglin 占用有点高 刷怪塔么 试试去扬了
MythicLib 插件也略微有点占用
传个spark看看?
有一说一 高版本优化一言难尽

Lonewolfi
名副其实 发表于 2022-7-16 17:37
paper+优化=airplane/tuinity+优化=purpur
什么上游下游,我只知道purpur是paper经过二次优化得到的 ...

就是用的purpur

Lonewolfi
Flower_胡子 发表于 2022-7-16 17:39
zombified_piglin 占用有点高 刷怪塔么 试试去扬了
MythicLib 插件也略微有点占用
传个spark看看?

MythicLib是mmoitems的前置 看看后面能不能把这个属性插件给换了 占用确实离谱。还有那个精英怪插件 看了一下源码 不管啥玩意 都是堆在主线程运行

名副其实

提升点分配内存
另外尝试安装一些插件例如 Chunky/Yasui 来卸载这些已经被载入服务器的区块
注: 玩家在客户端内被载入的区块只是接收到的区块,在可见范围外还有服务器内被载入的区块没有被客户端获取,因此你说只有几个玩家表示区块载入不多的说法是站不住脚的

Lonewolfi
名副其实 发表于 2022-7-16 17:50
提升点分配内存
另外尝试安装一些插件例如 Chunky/Yasui 来卸载这些已经被载入服务器的区块
注: 玩家在客 ...

不是 我的意思是purpur也带区块卸载功能 现在设置的是区块内没有玩家加载 在10秒后就会被卸载。
那个玩家区块载入不多的意思是 很多玩家都是聚在一起的 加载的同一的区块,如果20个玩家 都分开 那20个玩家加载的区块数量是5780(每人289区块)。
还是20个玩家,就比如玩家A和玩家B在一个区块,他们俩加载的区块是一样,那加载的区块数量就是5780-289(在不考虑玩家跑图后还没卸载的区块)

Lonewolfi
Flower_胡子 发表于 2022-7-16 17:39
zombified_piglin 占用有点高 刷怪塔么 试试去扬了
MythicLib 插件也略微有点占用
传个spark看看?

https://spark.lucko.me/po9zyeIhV6
刚刚去加了4G 现在是20G(服务端使用16G)
36人 暂时是18+tps 刚重启后运行了45分钟
我也不知道为什么spark里显示tps20 在/gc里显示18+

Flower_胡子
Lonewolfi 发表于 2022-7-16 18:04
https://spark.lucko.me/po9zyeIhV6
刚刚去加了4G 现在是20G(服务端使用16G)
36人 暂时是18+tps 刚重启后 ...

这个spark啥都看不出来  卡顿的时候去生成吧

Lonewolfi
Flower_胡子 发表于 2022-7-16 18:24
这个spark啥都看不出来  卡顿的时候去生成吧

找到问题了 是精英怪插件 全是主线程处理 开一个连点器打精英怪 tps19.7 直接掉到tps6

CYY20010324
看以下服务器是否有大型农场之类的东西,之前我们服务器30个人tps就下降,发现有玩家做了大型农场特别多的漏斗之类的实体。只要那附近没有玩家tps直接就往上涨了。加了两个优化插件解决了