Since 1.14/1.15, CPU usage has increased by a very large amount. In 1.13, usage was around 5% with nobody online, but in 1.15+ an entire core is being used. I tested with a fresh instance on 1.13, 1.15 and 1.16 snapshot 20w06a with the vanilla server jar (1.14 not tested). Even with more cores and ram this is still an issue.
I have attached files showing the difference, at the start it maxes out (as expected) and then comes to its resting cpu usage. As you can see 1.13 uses very little compared to the 1.16 server.
1.13.2:
[media]1.16 (20w06a):
[media]Linked issues
is duplicated by
relates to
Attachments
Comments

The command used is
screen -dmS minecraft java -Xms2046M -Xmx2046M -Xmns1023M -Xmnx1636M -Xgc:concurrentScavenge -Xgc:dnssExpectedTimeRatioMaximum=3 -Xgc:scvNoAdaptiveTenure -Xdisableexplicitgc -Xtune:virtualized -jar server.jar nogui
Launched with nogui so that shouldn't mean the GUI is exposed.
I have also tried with just
java -jar server.jar nogui
but this yields the same result.
Tried with Java 8 today, same issue;
[media]I have done some further research and this may be related to MC-149018 which had some comments a week ago about still experiencing that issue:
[media]I installed a Paper 1.15.2 server (I know it's not official, bare with me) for a plugin to do some profiling and got this:
[media]Which would appear to be the same thing. This is a quote from a PR that aimed to fix that bug (but was never implemented due to issues):
"Vanilla's sleep behaviour was to use LockSupport#parkNanos, however they never backed off and entered a full park, so the scheduler could potentially keep the server thread running when we really did not want that."
The bug report (and fix changelog) claims this issue was fixed in 1.14 pre-6 however it has been confirmed this is not the case. I also only have the issue in 1.14+ which is the same case with this bug.
I made a 1.13 server for comparison - park does not appear anywhere, and cpu is, as expected, around 10% idle, and reproducable with the vanilla server as mentioned before.
If it's possible to profile the vanilla server in such a way to confirm this I would love to know.
Please provide the command being used to launch the server application.
Are you running the server with the GUI exposed? I've seen similar reports where the GUI causes increased CPU usage.
Please also note that only Java 8 is officially supported the launch the game and server.