Lag Spikes on empty server

Hello, im looking for someone who have experience with owning servers. My server has 16gb ram and 6 cores and its almost empty, and for some reason from time to time its tps drops to values like 11-13 tps or even lower. All my plugins show barely no use and my only idea is this process but i dont know what is that. I really need help because i cant figure it out Paper 1.21.3
No description
No description
43 Replies
Admincraft Meta
Admincraft Meta2mo ago
Thanks for asking your question!
Make sure to provide as much helpful information as possible such as logs/what you tried and what your exact issue is
Make sure to mark solved when issue is solved!!!
/close !close !solved !answered
Requested by dabbiks#0
Kre0lidge
Kre0lidge2mo ago
Can you share the spark
Dabbiks
DabbiksOP2mo ago
Sure
Dabbiks
DabbiksOP2mo ago
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Kre0lidge
Kre0lidge2mo ago
Server seems to be doin well from what I can see in this report. The tree you narrowed down is part of MinecraftServer.waitUntilNextTick which as you can read is just the server waiting to do something, which on a empty server is basically nothing to the most part
duolingo se acerca
Finding the cause of lag spikes | spark docs
Lag spikes occur when a small number of ticks (or sometimes just one tick) takes a long time to execute.
duolingo se acerca
Try this command when you have the time: /spark profiler --only-ticks-over 150
Kre0lidge
Kre0lidge2mo ago
Another thing to note -- 16GB is maybe a little excessive. Start small, optimize it the best you can and only then consider upping the ram amount.
Dabbiks
DabbiksOP2mo ago
Also I should mention that im making zombie apocalypse server and I had to merge 2 maps (map with terrain from worldpainter and map with huge cities) into one using worldedit. Map had a lot of data like armorstands, item frames, furnaces etc. and I had to delete them to prevent players from finding op items, i did it with FAWE on whole map at once and you may ask why this is connected. Sometimes when lag spikes appear im getting this typical paper error DONT REPORT TO PAPER .. but it has something about for example ticking brewing stand that doesnt exist. I cant provide you example but maybe this is connected? Yeah I know I bought it for cores because offer with 8gb ram had less cpu
duolingo se acerca
That's the main thread dying. Are you using a paper fork?
Dabbiks
DabbiksOP2mo ago
If you mean purpur or something no Its paper 1.21.3
Kre0lidge
Kre0lidge2mo ago
When you get those messages, it might help sharing em
duolingo se acerca
I hardly ever see that DO NOT REPORT THIS TO PAPER message, so I'm not that experienced with it But I'm pretty sure that's when you use a paper fork like purpur, to prevent people from reporting that to Paper instead or Purpur Then idk, I was wrong with that
Dabbiks
DabbiksOP2mo ago
I unfortunely dont have example but i will send it here when it will appear again I think only during those spikes And it doesnt happen when i render a lot of terrain or something Really random
duolingo se acerca
But that message does trigger when the main thread dies, which means those chunks you're loading still have something considered resource-intensive in them Could be a lot of redstone, a lot of entities or other stuff, you should check that out
Kre0lidge
Kre0lidge2mo ago
That's not why that message is displayed. It is usually present in Paper's stacktraces too but just as a precaution to let the user know that the error is not due to the Paper software, maybe user error etc.
Kre0lidge
Kre0lidge2mo ago
Entities aren't excessive
No description
duolingo se acerca
Good to know from now on :very_nice: yh, yt that spark report is fine at least I don't see something that would indicate a lagspike
Dabbiks
DabbiksOP2mo ago
I tried disabling redstone with a plugin, and I didnt change anything
duolingo se acerca
the few times I got this message, was when I poorly pregenerated chunks (a resource-intensive task when you have bad hardware like me) and the spark report were, too red I mean, do the spark report when you explore that area. If you have players, try doing it during maintenance
Dabbiks
DabbiksOP2mo ago
Im flying over all those cities very often and everything works fine for most of the time Also it happens when im in other worlds that are for example empty or just flat
duolingo se acerca
Try with this one when you fly around
Dabbiks
DabbiksOP2mo ago
Sure, i will try today Well thats... Something https://spark.lucko.me/8Be60GdpPV Its spark with empty server Working for 5 minutes with only 150+ ticks over
[21:40:25 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - 1.21.3-80-c2294d7 (MC: 1.21.3) ---
[21:40:25 ERROR]: The server has not responded for 10 seconds! Creating thread dump
[21:40:25 ERROR]: ------------------------------
[21:40:25 ERROR]: Server thread dump (Look for plugins here before reporting to Paper!):
[21:40:42 ERROR]: ------------------------------
[21:40:42 ERROR]: Current Thread: Server thread
[21:40:42 ERROR]: PID: 46 | Suspended: false | Native: false | State: RUNNABLE
[21:40:42 ERROR]: Stack:
[21:40:42 ERROR]: net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.updateShape(BlockBehaviour.java:1322)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.NeighborUpdater.executeShapeUpdate(NeighborUpdater.java:51)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater$ShapeUpdate.runNext(CollectingNeighborUpdater.java:155)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater.runUpdates(CollectingNeighborUpdater.java:81)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater.addAndRun(CollectingNeighborUpdater.java:66)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater.shapeUpdate(CollectingNeighborUpdater.java:31)
[21:40:42 ERROR]: net.minecraft.world.level.Level.neighborShapeChanged(Level.java:1311)
[21:40:42 ERROR]: net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.updateNeighbourShapes(BlockBehaviour.java:1245)
[21:40:42 ERROR]: net.minecraft.world.level.Level.notifyAndUpdatePhysics(Level.java:1219)
[21:40:42 ERROR]: net.minecraft.world.level.Level.setBlock(Level.java:1170)
[21:40:42 ERROR]: net.minecraft.world.level.Level.setBlock(Level.java:1084)
[21:40:42 ERROR]: net.minecraft.world.level.block.ComparatorBlock.refreshOutputState(ComparatorBlock.java:180)
[21:40:42 ERROR]: net.minecraft.world.level.block.ComparatorBlock.tick(ComparatorBlock.java:190)
[21:40:42 ERROR]: net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.tick(BlockBehaviour.java:1277)
[21:40:42 ERROR]: net.minecraft.server.level.ServerLevel.tickBlock(ServerLevel.java:1258)
[21:40:42 ERROR]: net.minecraft.server.level.ServerLevel$$Lambda/0x00007f429999e6c0.accept(Unknown Source)
[21:40:42 ERROR]: net.minecraft.world.ticks.LevelTicks.runCollectedTicks(LevelTicks.java:190)
[21:40:42 ERROR]: net.minecraft.world.ticks.LevelTicks.tick(LevelTicks.java:87)
[21:40:42 ERROR]: net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:759)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1876)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1665)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1330)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:340)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer$$Lambda/0x00007f4298ddba88.run(Unknown Source)
[21:40:42 ERROR]: [email protected]/java.lang.Thread.runWith(Thread.java:1596)
[21:40:42 ERROR]: [email protected]/java.lang.Thread.run(Thread.java:1583)
[21:40:42 ERROR]: ------------------------------
[21:40:42 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---
[21:40:42 ERROR]: ------------------------------
[21:40:25 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - 1.21.3-80-c2294d7 (MC: 1.21.3) ---
[21:40:25 ERROR]: The server has not responded for 10 seconds! Creating thread dump
[21:40:25 ERROR]: ------------------------------
[21:40:25 ERROR]: Server thread dump (Look for plugins here before reporting to Paper!):
[21:40:42 ERROR]: ------------------------------
[21:40:42 ERROR]: Current Thread: Server thread
[21:40:42 ERROR]: PID: 46 | Suspended: false | Native: false | State: RUNNABLE
[21:40:42 ERROR]: Stack:
[21:40:42 ERROR]: net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.updateShape(BlockBehaviour.java:1322)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.NeighborUpdater.executeShapeUpdate(NeighborUpdater.java:51)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater$ShapeUpdate.runNext(CollectingNeighborUpdater.java:155)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater.runUpdates(CollectingNeighborUpdater.java:81)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater.addAndRun(CollectingNeighborUpdater.java:66)
[21:40:42 ERROR]: net.minecraft.world.level.redstone.CollectingNeighborUpdater.shapeUpdate(CollectingNeighborUpdater.java:31)
[21:40:42 ERROR]: net.minecraft.world.level.Level.neighborShapeChanged(Level.java:1311)
[21:40:42 ERROR]: net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.updateNeighbourShapes(BlockBehaviour.java:1245)
[21:40:42 ERROR]: net.minecraft.world.level.Level.notifyAndUpdatePhysics(Level.java:1219)
[21:40:42 ERROR]: net.minecraft.world.level.Level.setBlock(Level.java:1170)
[21:40:42 ERROR]: net.minecraft.world.level.Level.setBlock(Level.java:1084)
[21:40:42 ERROR]: net.minecraft.world.level.block.ComparatorBlock.refreshOutputState(ComparatorBlock.java:180)
[21:40:42 ERROR]: net.minecraft.world.level.block.ComparatorBlock.tick(ComparatorBlock.java:190)
[21:40:42 ERROR]: net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.tick(BlockBehaviour.java:1277)
[21:40:42 ERROR]: net.minecraft.server.level.ServerLevel.tickBlock(ServerLevel.java:1258)
[21:40:42 ERROR]: net.minecraft.server.level.ServerLevel$$Lambda/0x00007f429999e6c0.accept(Unknown Source)
[21:40:42 ERROR]: net.minecraft.world.ticks.LevelTicks.runCollectedTicks(LevelTicks.java:190)
[21:40:42 ERROR]: net.minecraft.world.ticks.LevelTicks.tick(LevelTicks.java:87)
[21:40:42 ERROR]: net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:759)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1876)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1665)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1330)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:340)
[21:40:42 ERROR]: net.minecraft.server.MinecraftServer$$Lambda/0x00007f4298ddba88.run(Unknown Source)
[21:40:42 ERROR]: [email protected]/java.lang.Thread.runWith(Thread.java:1596)
[21:40:42 ERROR]: [email protected]/java.lang.Thread.run(Thread.java:1583)
[21:40:42 ERROR]: ------------------------------
[21:40:42 ERROR]: --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH ---
[21:40:42 ERROR]: ------------------------------
duolingo se acerca
Are you using an HDD by any chance? Seems like none of your plugins is at fault, but the server is spending too much time saving
Dabbiks
DabbiksOP2mo ago
Nah, its NVME Im sure what this is exactly but i checked it once and its pretty good Not*
duolingo se acerca
And what about the cpu? It says AMD EPYC but not the exact model
Dabbiks
DabbiksOP2mo ago
Well my hosting says they are using this AMD GENOA 24-core processors I have 6 from those and its vps
duolingo se acerca
If it's a vps, try executing lscpu on the linux commandline In VendorID.ModelName should be the exact model
Dabbiks
DabbiksOP2mo ago
No description
duolingo se acerca
Can't find much info about the cpu, only managed to narrow it down to any of these three
No description
duolingo se acerca
Well, reliably narrow it down to those three, as it's from the amd website First one is pretty good, second decent, third one bad, really bad So, it doesn't say much too me, if you have the third one that would explain the lag, if you don't, then I ran out of ideas
Dabbiks
DabbiksOP2mo ago
Well I generated new world instead of the one I copied
Dabbiks
DabbiksOP2mo ago
and after 2 minutes my spark is still empty https://spark.lucko.me/8mXtGZ1Pur
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Dabbiks
DabbiksOP2mo ago
so it probably means that its problem with this world?
duolingo se acerca
Probably, and might make sense considering it is while saving, however I do not see what could be causing it in the spark report Besides two gamerules, nothing seems out of the ordinary, unless I'm failing to locate the issue These two maxCommandChainLength, commandModificationBlockLimit not sure why are too high, but I don't think those are the reason or if they are, if lowering them will break a custom mechanic from the map you copied
Dabbiks
DabbiksOP2mo ago
Oh one griefer joined once and set it to this values
duolingo se acerca
I don't think those are the problem, but you can try setting them back to the default values
Dabbiks
DabbiksOP2mo ago
Could you also tell me if this offer (Ryzen 9 5900X 3 Ryzen vCores) would be better for minecraft server than AMD EPYC 9224 but with 6 cores? Besides this issues im considering to move my server from contabo to datalix and ofc i can google it but answer would not be minecraft-related
duolingo se acerca
Wait, you have AMD EPYC 9224 ?
Dabbiks
DabbiksOP2mo ago
I dont know that Its assumption
duolingo se acerca
Well, if it is, then yes, it is better When it comes to minecraft you mostly care about single thread performance Having more threads or cores is nice, since some plugins do some async tasks, but not the priority
duolingo se acerca
You can check the single thread performance in a website like this one: https://www.cpubenchmark.net/singleThread.html#server-thread
PassMark CPU Benchmarks - Single Thread Performance
Benchmarks of the single thread performance of CPUs. This chart comparing CPUs single thread performance is made using thousands of PerformanceTest benchmark results and is updated daily.
Dabbiks
DabbiksOP2mo ago
Thank you man i really appreciate your time and help Youre better than real duolingo

Did you find this page helpful?