Potential memory leak

https://mclo.gs/TlXADoC https://spark.lucko.me/C8KMfDCp3i Server OOMs after a while of people playing on it, trying to narrow down the issue. I suspect MythicMobs and MythicDungeons but can't confirm
mclo.gs
Paper 1.20.1 Server Log [#TlXADoC]
4409 lines | 12 errors
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
28 Replies
Admincraft Meta
Admincraft Meta8mo ago
Spark Profile Analysis
These are not magic values. Many of these settings have real consequences on your server's mechanics. See this guide for detailed information on the functionality of each setting.
✅ Your server isn't lagging
Your server is running fine with an average TPS of 20.
Requested by .deathpacito#0 • Page 1 of 4
Admincraft Meta
Admincraft Meta8mo 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 .deathpacito#0
Deathpacito
DeathpacitoOP8mo ago
Oh interesting the spark profiler stopped when the server OOMed It only shows 7 min
Skullians
Skullians8mo ago
the spark profiler you linked is… active your GC timings aren’t great, also an alloc profiler would be nice
Discount Milk
Discount Milk8mo ago
There's not a crash in these logs
Skullians
Skullians8mo ago
Use Aikar flags well if it’s an OOM there won’t be a crash log
ProGamingDk
ProGamingDk8mo ago
depends on the oom! if its a ptero etc kill there wont be in the log, but if its a actual oom there will br
Deathpacito
DeathpacitoOP8mo ago
Speaking of I've noticed I never have a crash log I just can't find any even though ptero itself says crash, and the crash is due to OOM
ProGamingDk
ProGamingDk8mo ago
again ooms two different places
Deathpacito
DeathpacitoOP8mo ago
Though I suppose perhaps they don't make it due to the crash reason being painfully obvious
ProGamingDk
ProGamingDk8mo ago
oom kills by ptero/docker is caused by allocation going over the memory limit placed on the server, if its caused by java just not having more memory to work with, it will generate errors in logs, (allocation, not actual usage)
Deathpacito
DeathpacitoOP8mo ago
Ah alright
Snow Kit
Snow Kit8mo ago
oom kills are actually by the linux kernel, not docker 🤓
ProGamingDk
ProGamingDk8mo ago
Docker Documentation
Runtime options with Memory, CPUs, and GPUs
Specify the runtime options for a container
Snow Kit
Snow Kit8mo ago
it's the linux kernel detecting the container is out of memory
On Linux hosts, if the kernel detects that there isn't enough memory to perform important system functions, it throws an OOME, or Out Of Memory Exception, and starts killing processes to free up memory.
ProGamingDk
ProGamingDk8mo ago
isnt that the host machine not containers
ProGamingDk
ProGamingDk8mo ago
No description
Snow Kit
Snow Kit8mo ago
it applies to the container's portion of the system's kernel afaik either way, for your actual issue @Deathpacito, when ptero shows that you're about to run out of memory, can you run spark profiler start --timeout 60 --thread * can also try changing -XX:MaxRAMPercentage=80 to -Xmx3g, but they're basically the same anyways
Discount Milk
Discount Milk8mo ago
Worth doing an allocation profiler instead. Include --alloc before timeout
Snow Kit
Snow Kit8mo ago
from what they said, the container is running out of memory. Memory usage on the heap is likely irrelevant as it would create a crash log or print out a big java.lang.outofmemoryerror: java heap space threads on the other hand allocate memory outside of the heap, which causes the kernel to oom kill the process
Discount Milk
Discount Milk8mo ago
They're having GC olds Could be from not enough memory or something allocating too much inside.
Snow Kit
Snow Kit8mo ago
their container only has ~4gb (or 5) of memory, so that's expected
Discount Milk
Discount Milk8mo ago
4Gb "should" be enough to not have GC olds It's 3 players on the server, not 30.
Snow Kit
Snow Kit8mo ago
I also don't have the original link's info, so I can't see what it looked like when it crashed ¯\_(ツ)_/¯ oh right, they don't have aikar's flags, so that's why g1 old is running
Deathpacito
DeathpacitoOP8mo ago
Very heavy plugins such as MMOcore, items, full Mythic suite If my allocation is quite low I can increase it
Discount Milk
Discount Milk8mo ago
Mythicmobs will go it iirc, send an allocation profiler and it'll prove it or not
Deathpacito
DeathpacitoOP8mo ago
Go it? So spark profiler start --alloc --timeout 60 --thread * ?
Snow Kit
Snow Kit8mo ago
i'd do --alloc and --thread * seperately

Did you find this page helpful?