Request Is my Java Parameters good?

Baron

New Member
Jul 29, 2019
59
0
0
Hows my java parameters? Any thing I should change or remove? Looking for the best performance I can get.

E3-1245v2 and 32GBs of RAM.

-Xmx16384m -XX\:MaxPermSize\=1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=3 -XX\:TargetSurvivorRatio\=80 -XX\:MaxTenuringThreshold\=8 -XX\:+UseParNewGC -XX\:+UseConcMarkSweepGC -XX\:MaxGCPauseMillis\=10 -XX\:GCPauseIntervalMillis\=50 -XX\:MaxGCMinorPauseMillis\=7 -XX\:+ExplicitGCInvokesConcurrent -XX\:CMSInitiatingOccupancyFraction\=90 -XX\:+BindGCTaskThreadsToCPUs -Xnoclassgc -d64 -XX\:+CMSIncrementalPacing -XX\:+CMSClassUnloadingEnabled -XX\:MinHeapFreeRatio\=5 -XX\:MaxHeapFreeRatio\=10
 

DZCreeper

New Member
Jul 29, 2019
1,469
0
1
The effects of explicitGC can be nasty if mods are using it inappropriately. I typically disable that with no ill effects just to be safe. You probably also don't need 1GB of Permgen, almost all packs will run on 256MB and I have never seen it go over 350.

-d64 is redundant when using a 64 bit OS.

Add -XX:+UseCompressedOops to reduce memory bloat from pointers. When possible it will use 32 bit values even though its a 64 bit environment.
 

Baron

New Member
Jul 29, 2019
59
0
0
The effects of explicitGC can be nasty if mods are using it inappropriately. I typically disable that with no ill effects just to be safe. You probably also don't need 1GB of Permgen, almost all packs will run on 256MB and I have never seen it go over 350.

-d64 is redundant when using a 64 bit OS.

Add -XX:+UseCompressedOops to reduce memory bloat from pointers. When possible it will use 32 bit values even though its a 64 bit environment.
Mind explaining more what -XX:+UseCompressedOops does? What you mean by pointers? Thanks for the other two suggestions.
 

DZCreeper

New Member
Jul 29, 2019
1,469
0
1
Either its down, shutdown, or my internet connection is messed up but I can't access the wiki documentation for that right now. Hopefully this stackoverflow answer will help explain well enough: http://stackoverflow.com/a/1444172

Here is my hopefully correct explaination: A pointer is something used to point Java that a particular memory area contains a particular piece of data. A 64 bit version of Java uses 64 bit width points compared to 32 bit pointers in the 32 bit version of Java. This means much larger memory address capabilities. This also means that each pointer is twice as large, so with a lot of object references (pointers) it adds up. -XX:+UseCompressedOops tries to use 32 bit pointers in a 64 bit environment whenever possible to reduce the bloat from normally using 64 bit pointers. It shouldn't have measurable downsides.
 
Last edited: