Linux VM open minecraft server cause a lot of lag


Efina

Recommended Posts

Hi, I am new to this forum, and my main language is not english, so maybe the article will hard to read.

Unraid Version is 6.9.2

 

I setup with my new tower, and open two vm, one for windows, one for  linux server to open minecraft server.

But after i setup this done, i see my minecraft server have a lot of lagging problem, only two people, the server tps already down to 20 (18.7) after connect 7 people, the server tps is down below 13 (12 tps).
And i using timings to check where the problem, it say chunk provider using a lot of cpu.

https://timings.aikar.co/?id=5184e65a6a534a919f38f252e1b2b310
And i am not sure which do i wrong, i search a lot to see how can i better the vm performance, I isolation that minecraft vm cpu, but still can't normal run 20tps.

image.png.62cda7053be3e8f060e02980ce6aa0f0.png

 

I put the server to cloud vps (cloud compute, cpu only 6 with 2.9Ghz), and it can stable with 20tps and 20 player connect.

 

I just thinking maybe is disk read and write problem, or is in vm docker (pterodactyl wings), but not sure about it.

image.png.3c5129bfc2294248fa3dd6c5d8f73618.png

efinatower-diagnostics-20220215-1904.zip

Link to comment
  • 2 months later...

Hi,

I'm having similar issues (running a Ryzen 5 3rd gen) with a linux server VM. At the moment i'm not sure if it is a java specific (JVM related) thing or if it is a virtualization problem as I have only tested the minecraft server on both platforms.

Running a windows server VM (as its lighter weight than full windows install) with the correct drivers (virtio installed) I was able to get good performance which was close to the CPU's actual speed when running a benchmark (as one would hope). I also tried running a minecraft server on this windows VM and the performance was great, TPS good.

After switching back to Linux I was greeted with terrible performance for the minecraft server, which is annoying because it uses far less idle resources on Linux which is why i prefer it.

I still need to do more testing so I need a good multi-platform benchmark software to properly compare them. I think upgrading to UNRAID version 6.10.0 may fix the issue due to it having an updated virtualization software and if that doesn't fix it then I could try get a baseline through Proxmox or another virtualization platform (proxmox is closest to unraid) and maybe bring it up with the devs. But I need to do more testing.

Tom.

 

Link to comment

OK, I just ran the experiment again. This time I tried on Unraid 6.10.0-rc5 and ran a linux server (Ubuntu Server 20.04) and a windows server (Windows Server 2022). On both I used Temurin OpenJDK "jdk-17.0.3+7". Ran a timings report on both and found that the linux server was actually faster (as it should be). Quite pleased by this result, starting to think it is the newer version of libvirt used in 6.10 so will probably upgrade as soon as a stable release is available. Could possibly be due to a different jdk in earlier testing? But anyway here's the timing costs of windows vs linux:

timingcost: 150
name: Windows Server 2022
version: 10.0
jvmversion: 17.0.3
arch: amd64
maxmem: 12884901888
cpu: 12
runtime: 371191
flags: -Xms12G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true

 

timingcost: 128
name: Linux
version: 5.15.0-27-generic
jvmversion: 17.0.3
arch: amd64
maxmem: 12884901888
cpu: 12
runtime: 205833
flags: -Xms12G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.