1. This section of the forums is now closed. You can post and answer support requests on the new support site here

JVM Arguments for Modded Minecraft (Updated 12/30/13)

Discussion in '[Archived] Tech Support' started by Eyamaz, Aug 13, 2013.

  1. Eyamaz

    Eyamaz New Member

    Read what's in the very last spoiler on my recommendations.
     
  2. Eyamaz

    Eyamaz New Member

    Ok, let me clarify that quickly. If you have a "busy" server, ie lots of chunk loaders or a constant 20/20 people on 24/7, you will want to make sure you increase the Heap size (Xms/Xmx.) Memory usage varies depending on server, so I can only give recommendations on memory.

    As long as you have the 3G buffer for PermSize and the ReservedCodeCache factored into the maximum RAM you are allotted by your host, you can set your Heap to whatever you need. Just be sure to scale the Xmn accordingly.
     
  3. Staxed

    Staxed New Member

    awesome, thanks for that (I had read the last spoiler, just think it didn't sink in on the first read, lol). Thanks.
     
  4. reddvilzz

    reddvilzz New Member

    After using the java arguments for a while. I prefer to stick on ftb launcher as my experience. No matter what i do if i use multiMC after 1 / 2 hours playing i always got that terrible lag spiking. Which is back to my old problem. I thought this arguments could help fix it. :(

    But the jvm arguments for ftb launcher work awesomly so i think i'll stick back to ftb launcher then
     
  5. Eyamaz

    Eyamaz New Member

    Hrm. I may need to switch up the GC on the multimc. Seems a few of the newer mods are doing things that I'm going to need two garbage collectors to handle. I wanted to stick to just one because I want to keep cpu usage down. I can't find which mod(s) are causing the issues.

    I, and a couple others, have some inclinations as to what is doing it. Honestly, unless I deobfuscated every mod and loaded them all together in eclipse and linked it to a profiler so I can watch the interactions, I can't be sure.

    I'll update the OP on Monday probably.
     
    reddvilzz likes this.
  6. Woodopriest

    Woodopriest New Member

    Thank you alot for this information, I am putting them all to a test on my server and see how it goes :-D

    Have a nice day
     
  7. Eyamaz

    Eyamaz New Member

    updated the arguments to run two different garbage collectors. one in the Eden space and one in the old generation. This is primarily to combat some difficulties in unleashed 1.1.3 and 1.1.4 and to stop the "rubber banding" effect of mobs in SMP.
     
  8. Staxed

    Staxed New Member


    what arguements were added to make that change? (just curious which specific ones they are, like to learn about them as much as I can :))
     
  9. Eyamaz

    Eyamaz New Member

    -XX:+UseParNewGC -XX:+UseConcMarkSweepGC replaced the -XX:useG1GC for garbage collection. The rubberbanding effect is happening because "something" is doing weird things in the heap thats causing the G1GC to lag during tenuring.
     
    reddvilzz and Staxed like this.
  10. reddvilzz

    reddvilzz New Member

    Need to updates my arguments then. Thanks a lot :D

    Which arguments you updated? Both on ftb and multimc?
     
  11. Eyamaz

    Eyamaz New Member

    The ftb launcher already had two GCs running. The change was just to multimc and servers.
     
    reddvilzz likes this.
  12. Spencefoz

    Spencefoz New Member

    Would Vanilla servers also with these JVM arguments?
     
  13. Eyamaz

    Eyamaz New Member

  14. Lathanael

    Lathanael New Member

    Nice collection. Something you can add if your CPU supports it is -XX:UseSSE=4 as java by default uses SSE3.

    Is there a reason why your PermGen is that HUGE? -XX: PermSize=1024m seems overkill to me. -XX: PermSize=128m should suffice maybe -XX: PermSize=256m.
     
  15. Eyamaz

    Eyamaz New Member

    Last research I know sse4 was software dependant. I didn't actually get any performance boost using it, so it's not included.

    The reasoning I have the default permgen so high is due to decompiles by JIT before unloading classes. The way I have it setup, it's a necessity or you can get Hugh performance loss when JIT drops code from the cache back into PermGen from the need to constantly do a dynamic resize. I set these up to try to keep everything loaded longer in RAM rather than a constant I/O from disk.

    Honestly, it wouldn't need to be that large if java wasn't limited to 2GB of reservedcodecache.
     
  16. DarkClown384

    DarkClown384 New Member

    can somone help-me modify these arguments for a little home server for two, three people on a home pc with the server and a client runnig on it, I have 3gigs of ram, if we consider that windows takes up one, my pc actualy has 4gigs.
    I tried to adpt them but it always gives me errors, its just a small server for me and my little sister using our internet, we are connected to the same router, so its just a small lan.
     
  17. Ashzification

    Ashzification New Member

    Just take the arguments as they're provided. You don't need to do anything but add them. Eyamaz did all the hard work.
     
    Shadowzfire likes this.
  18. Eyamaz

    Eyamaz New Member

    If your trying to set them up on a 32bit system, they won't run properly. With the amount of RAM your saying you have, I'm going to guess that's the case. Unfortunately, there is little I can do for 32bit users just because of the sheer amount of RAM it takes to fully optimze a modpack the size of something like unleashed.
     
  19. DarkClown384

    DarkClown384 New Member

    No, actually it is a 64bit sistem, so I don´t think it will be a problem.

    But in the near future im gonna try to convince my parents to buy me some new memories for my pc, it is a desktop. I won´t ask them just now cause they just bought my books for school and money is a tad bit short.
     
  20. Eyamaz

    Eyamaz New Member

    Hrm, it may not work as well but you can try lowering the xms/xmx to 1024m, Xmn to 256m, permsize to 512m and the reservedcodecache to 1024m. I give absolutely no guarantees for stability though.

    On a side note, I have my JVM Arguments running on StrayMav's server now and it's withheld "Straystresstestification" extremely well.
     

Share This Page