mojira.dev
MC-171958

Large server CPU increase in 1.14+

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

Attachments

Comments

CubeTheThird

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.

Samuel

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.

 

Samuel

Tried with Java 8 today, same issue;

[media]
Samuel

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.

Samuel

(Unassigned)

Confirmed

Performance

1.15.2, 20w06a, 20w07a, 20w09a

Retrieved