mojira.dev

Ryan Flowers

Assigned

No issues.

Reported

No issues.

Comments

Alejandro is correct. This is an issue with memory being allocated and not released. I have tested this on three different kernels (3.2, 2.6.32, 3.10.23) and the issue exists on all of them. Last night the server started increasing memory usage 1-2 percent per second until I restarted it, and then it stabilized. This is with the exact same number of users on the server as before the issue. Alejandro is also correct in that this problem started specifically on release 1.8 Pre1. Prior to that it was relatively stable. So yes, this is a memory issue. As a professional Linux server admin, I stepped in to help Warren with this problem. We've determined that the block lag is happening when the Java process is using all of its allocated memory. Unfortunately once it reaches its maximum (around 97.5%) it stays there with no let up, and everyone on the server (usually 15-30 people, as we have lost players due to this) starts lagging, rubber banding, block lagging, and complaining. A restart solves it for a few minutes until the memory usage starts climbing as players log in.

This issue is repeatable. We even changed OS's on the server (Ubuntu to CentOS). The same server on earlier releases had no issues on 4GB memory. There is no good reason for this to be requiring so much memory. I can only imagine that there is a memory leak at work here. I'm sure Warren would welcome one of Mojang's staff to examine the server and see the issue first hand.

I am working with the person who reported this (Warren Liddell) on his server. On a restart, we watched it go from 25% usage to, 30 minutes later, 77% usage. (Measured using "top" in Ubuntu). We're having to restart MC every 30m to keep it from consuming all system memory.
That server is running Ubuntu, kernel 3.10.23-xxxx-std-ipv6-64, java version "1.7.0_55"

I set up a test system with Debian 7 3.2.0-4-amd64 kernel, java version "1.6.0_26" 3gb ram and 2gb allocated to Minecraft 1.8. Vanilla, just the plain download available from Mojang. Found that memory usage jumped 1% every time myself and another player logged out and back in. It seems that memory is being allocated for the user session but is not be deallocated when the users leave. Additionally, memory usage increased even at idle with one user logged in, and not doing anything. Because Warren's server is extremely popular (currently with a very high google ranking) and has hundreds of users logging in and out daily, the problem is only made worse.

To do more experimenting and test out this bug, we installed 1.8 on a CentOS 6.5 server with 2.6.32-431.11.2.el6.x86_64 #1 SMP kernel and Java version "1.7.0_55" which matches that being used by Warren's server. With 5 different players logging in/out in rapid succession, playing for about 10 minutes, and then logging in/out again in rapid succession (about 5 times each, both times) the ram usage started at 10.9% and never went above 15.3%.

This would indicate to me that the issue is replicated when using a version 3.x Linux kernel on a Debian related OS, however I do not have a CentOS with 3.x kernel to test with. I will report back when I have had the opportunity to test it in a VM.