"High CPU usage" on a Minecraft server is a more nuanced problem than it looks at first, because of one specific architectural fact: Minecraft's main tick loop, the part that processes the actual game world, runs on a single thread, regardless of how many CPU cores the hardware has.
Why core count matters less than you'd expect
Even on Paper, which adds async chunk loading and offloads some work off the main thread, the core game loop, entities, blocks, redstone, most plugin logic, still runs on one thread. This means a server with 16 cores gets no direct benefit for the main tick loop over an 8-core machine with the same per-core clock speed, single-core performance is what actually matters most for raw tick throughput.
Checking what's actually using the CPU
On Linux, top or htop shows overall usage, but the more useful check is whether the specific thread running Minecraft's main tick loop is maxed out on one core while others sit idle, that pattern specifically points to the tick loop being the bottleneck, not general system load. Spark's profiler is the more direct tool for this from inside the server itself, showing exactly what the main thread is spending time on.
When high CPU usage is not actually a problem
If overall system CPU usage looks high but is spread reasonably evenly across cores (async chunk loading, network I/O, and other Paper-offloaded work), and TPS and MSPT both look healthy, the server may simply be using available resources efficiently rather than struggling. Check TPS and MSPT before assuming CPU usage alone means trouble.
When it is a real bottleneck
If MSPT is consistently elevated and a spark profile shows the main thread near-constantly busy, the server has genuinely outgrown its available single-core performance for its current entity count, chunk load, and plugin list. At that point, the fixes are the same as general lag: reduce simulation-distance, cut entity counts (see our entity lag guide), and use spark to find any specific plugin consuming disproportionate main-thread time.
Upgrading hardware, if it comes to that
If profiling confirms the main thread is genuinely the limit and you have already applied the standard fixes, moving to a plan with faster single-core performance (not just more cores) is the correct upgrade, more cores alone will not speed up the tick loop itself. A server requirements tool can help figure out what you actually need.
Getting the right hardware from the start
Tick Hosting's plans are built around real single-core performance rather than just raw core counts, which is what actually matters for Minecraft's tick loop. Get started on Tick Hosting's plans page.