Just hád to respond.
Since this SSE 4 line, my server went from an idle 30%+ CPU time to < 2%!! Don't dismiss this out of hand.
The only thing is, your CPU
MUST support it.
This is my entire parameter list:
Code:
-server -Xincgc -Xmx1224M -Xms768M -Xmn512M -XX:NewRatio=2 -XX:CMSFullGCsBeforeCompaction=1 -XX:SoftRefLRUPolicyMSPerMB=2048 -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+UseAdaptiveSizePolicy -XX:+DisableExplicitGC -Xnoclassgc -oss4M -ss4M -XX:s+UseFastAccessorMethod -XX:CMSInitiatingOccupancyFraction=90 -XX:+UseConcMarkSweepGC -XX:UseSSE=4 -XX:+UseCMSCompactAtFullCollection -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -cp "ftbserver.jar" -jar "ftbserver.jar"
well, SSE 4 is in the new parameters i'm working with atm, but for different reasons. and i've already discussed in a previous post why i dont like these JVMs, but let me reiterate some things and explain more.
-server -XX:s+UseFastAccessorMethod -XX:CMSInitiatingOccupancyFraction=90 : these are defaults, not even worth being in your command line
-oss4M -ss4M : you dont need to change the Thread Stack Size limit. in fact if your using Oracle's java -oss doesn't even do anything because Hotspot does not use separate thread stack size's for java and native threads.
-Xmn512M -XX:NewRatio=2 : this is just idiocy. with one command your telling java to use 512M of ram for the Eden space, the very next command your telling it to use 50% of your Heap (612M.) and you never want to set your young generation to be greater than 1/3 your max heap anyway. and then you -XX:+UseAdaptiveSizePolicy which is java's way of automatically setting the new(eden) and survivor for you
-XX:SoftRefLRUPolicyMSPerMB=2048 once again. this is a TIME in MILLISECONDS and is set to TWICE the default value (1000) which will actually slow down your server once it gets "busy" THIS SHOULD STAY AT 1000.
-XX
arallelGCThreads=4 yup, you don't need this. at all. java will set this where it needs to be and does it dynamically when it needs to be changed. ive seen this as high as seven naturally. if your thinking this makes your game use "All 4 cores of a 4 core processor" your wrong. it doesnt do anything of the sort. Garbage collection already uses multiprocessors. This controls the number of threads and instances of the GC. at 5 threads, it creates another instance, at 9 it creates a third. this shouldn't even be in your arguments.
as far as your drop in idle time claim
the server should always "idle" that low. At least until you drop some chunkloaders and few engines, then your server will never "idle" again. the pic in the spoiler uses my current set of server commands in the OP.
edit: and yes, my computer supports SSE4. Almost any computer on the market in the last half decade should have SSE4 support.