When I start my Spigot server, Java doesn’t allocate enough ram for the server to run, leaving the TPS at around 9-12, even when there is 1 person playing on it.
This one’s rare, it allocates the ram but it doesn’t go above 400MB
And then other times (if i’m lucky) it allocates the amount of ram that it needs, and performs well.
I didn’t add any plugins, I’ve only deleted them lately, no luck in that.
Minecraft will only ever use as much memory as it needs to use, so with one player on and no plugins, if Minecraft has no use for >400MB, it’s not going to use more than 400MB.
That said, from a different angle, it’s important that the memory is still allocated to Minecraft (when the memory is needed), because setting XMS too low means that each time Java needs more memory, it has to incur garbage collections to bring XMS up to the XMX value.
Long story short, however: Minecraft has access to–and will use–all available memory that it needs (within the upper bound from Java).
Ticks per second isn’t whether the computer has enough memory, but rather if your computer is able to process enough of the game loop cycles (that’s what TPS is), and is a bigger function of computation ability than memory ability.