Minecraft server high CPU usage - data doesn't agree

Hi there - new to Linode, Linux, and server usage in general.

What I'm working with:
Linode 2GB: 1 CPU, 50GB Storage, 2GB RAM
Minecraft One Click App (though also had a CentOS 7 with minecraft setup before)

My summary page on the cloud.linode.com dashboard is showing my CPU usage as always 99%-100% once I get my minecraft server turned on (note I've also tried this on CentOS 7 with a manually setup vanilla minecraft server, and seen the same CPU usage). I even got an email notification about high CPU usage.

Where things don't add up is when I check out CPU usage via CLI. When running top I get 10%-30% CPU when no one is connected and the server is basically idle, and when I connect it's usually 25-75% with spikes towards 100%. This is before even trying to get my few friends to login (I don't expect more than 5 people to connect ever).

Everything I've read, even documentation from Linode, says I should be able to run this server, with this few people, on the size I have, and even the smaller one (Nanode I believe?).

So what should I believe, what I'm being told by the server while I'm in via SSH, or the summary page? I'm worried I'll get a nasty-gram from Linode about my CPU usage being constantly pegged at 100%.

I was also hoping to teach myself LAMP and get a small website setup, and eventually run modded minecraft instead of vanilla, but it looks like this can barely run a vanilla minecraft server? Did I misunderstand what I was reading? Do I need a beefier linode?

Thanks!

5 Replies

If you’re running 1.14.2 there’s been some performance issues that they’re trying to patch for. I run 4GB plan and I get a notification once in a while about high CPU usage.

There’s currently a pre-release for 1.14.3 which may address more performance issues. I’m waiting to see myself if the issue clears up once the new update comes out.

[@LouWestin] (/community/user/LouWestin) Okay, thank you for the info about the performance issues on the current release.

Any ideas about the difference in CPU usage I'm seeing on the linode summary page vs. actually logging into my server?

That part I don’t know, but I haven’t really looked too much into yet.

Hey there,

We encourage you to use the following to review your system performance.

Shows the IO and CPU %steal on the Linode and prints the output every second for 10 seconds to capture fluctuation:

$ iostat 1 10

Checks for processes in a D state that might either be caused by the steal or may cause steal:

$ for x in seq 1 1 30; do ps -eo state,pid,cmd | grep "^D"; echo "-"; sleep 2; done

Shows resource usage as well as any processes that might be using up a large amount of CPU:

$ top -bn 1 | head -15

It's also not uncommon for users to have resources that aren't allocated to their disks. You can check what percentage of your plan's available resources are properly allocated here:

https://cloud.linode.com/linodes/LINODEID/advanced

If you have resources that are not allocated, you may want to resize your disk to take advantage of them.

If you are still confused or have questions, please feel free to open up a Support Ticket so we can look at your Linode in particular. We don't want to send any nasty grams either and we're happy to help 24/7.

Sincerely,
Tara T
Linode Support Team

Following up on what @LouWestin mentioned, the high CPU usage does seem to stem from a bug in the 1.14 release of Minecraft Java Edition. The host sees that one core is maxed out all the time, while the guest does not.

I found that the older 1.13 release does not have this issue. Should you decide to use 1.13, simply follow the instructions in this guide. You'll see the graph displayed in your Linode's dashboard are much closer to what you see in the outputs of top and ps commands.

That said, the CPU graph can get close, but they will never be 100% the same as you see within the Linode. This is because they represent usage from the host perspective. Where the VM is not aware of the underlying energy used to run it, is where your graph can vary from what you see internally.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct