Jump to content

Removing intel_idle on Linux CentOS for increased performance.


jominer247

Recommended Posts

First of all - I take back what I said about Windows being better then Linux, Linux is far better then windows in every way i've currently noticed ^.^

 

CentOS is a fantastic OS to use with minecraft servers thanks to its low resource usage. For me it's one of the fastest OSs I have ever used. CentOS stands for Community Enterprise Operating System (C.ent.OS)

 

Sometimes however, around 30-50 players, I was experiencing short bursts of lag that took my server down to about 19.66666/19.696968 TPS etc. At one point even down to 18.3, Don't get me wrong, but im a complete performance hog and I hate even the slightest tinge of lag, for me my server has to sit on 20.0 TPS or I go crazy and start eating my fingers off on my keyboard looking for more ways to optimize CentOS to reduce lag even further.

 

I know, from speaking to plowmanplow, that to gain performance in one area, you have to lose performance in another, which is true. Also, from the saying "if it aint broke, dont fix it" comes to mind, but lets say i've ruined multiple OSs on my dedi and had to reinstall the OSs multiple times in order for me to get things working. Infact just now I almost screwed over grub in my CentOS, but managed to fix it with a rescue system.

 

First of all, I reccomend giving your server more permgen space using the flags -XX:PermSize=XXXM -XX:MaxPermSize=XXXM (example: -XX:PermSize=128M) Deatrix runs off 1GB of permsize, but thats to reduce the GC spikes that come from the garbage collector itself.

 

Now, To the part of disabling intel_idle on your processor, do the follow:

 

To tell if intel_idle driver is enabled, telnet/SSH into your CentOS server and run the following command:

cat /sys/devices/system/cpu/cpuidle/current_driver

If intel_idle is enabled, you will see Intel_idle show up on the line directly underneath the command you just entered.

 

Now:

If your grub.conf is located in /boot/grub/grub.conf (It was for me) then run the following command:

nano /boot/grub/grub.conf

Now, you should see something similar to this

:6536e72afdda85f19dfb69bcd0f99f79.png

 

DO NOT CONTINUE PAST THIS STAGE IF YOU DO NOT KNOW WHAT YOU ARE DOING, MISCONFIGURING THE GRUB.CONF CAN LEAD TO YOUR SYSTEM BEING RENDERED UN-USABLE. (This can be easily fixed on a machine your holding, but for a remote server it means a complete OS reinstall)

 

Now.

After "ro" leave a space and enter the following:

intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll

now, save and exit the grub.conf.

 

Restart your dedicated server or machine to see if this has worked, if you have done it right, then you should see the following:

909e9181592593bbcf84952fde93c020.png

 

If you have not done it right, and intel_idle is still there, please refer to this post:

http://stackoverflow.com/questions/12111954/context-switches-much-slower-in-new-linux-kernels

 

If your system is not booting, you may have to reinstall your OS.

 

TERMS

I TAKE NO RESPONSIBILITY FOR DAMAGE TO SYSTEMS, INCORRECT CONFIGURATIONS OR ANY MISLEADING (There shouldnt be, but even if there is) CONTENT. WHAT YOU DO WITH THIS IS YOUR OWN RESPONSIBILITY.

 

 

Background.

Intel_idle is a driver which forces your processor into sleep/idle mode causing major performance issues, After doing this to my server, it reduced lag 10 fold.

 

Another thing which can help you increase performance is the use of -XX:+UseNUMA, 32bit systems should see a 30% performance increase in there systems, while 64x will see a 40% performance increase.

 

Source(s):

http://stackoverflow.com/questions/12111954/context-switches-much-slower-in-new-linux-kernels

http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html

plowmanplow

Edited by jominer247
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...