Without knowing more about your specific setup it's tricky to tweak much. SoftRefLRUPolicyMSPerMB is a timing thing, not a size thing. What it does is tells the Garbage Collector how long to wait before attempting to collect a softly referenced object. 2048 is a bit over 2 seconds per MB of Free Memory. What this means is that if you have 50mb of free heap space it will not try to purge SoftRef objects for ~100 seconds. As your heap size shrinks, the amount of time it waits before attempting to purge SoftRef objects shrinks.
I would more be looking at the max amount of ram you can allocate. For that you need to know what the typical load of all other programs are on your instance. Realize that Xmx sets the max "heap" size, but java can still consume more memory than that. SO if you only have 1.5G to allocate to the minecraft server you may need to make your max heap size 1G, max start size (xms) to 768m and leave off the Xmn (though keep the NewRatio setting even though it's the default).
The part I think that is throwing you off is the ReservedCodeCacheSize. 1G is a HUGE code cache only intended for big beefy servers. I would change that to 256m for your server and see how it does. (EDIT: Further research has lead me to understand that even 256m is a "large" amount. You could probably reduce it to 96m and have no issues. I need to test it to be sure but I will once the players get off my server so I can reboot.)
With those changes it would look like thus:
Code:
java -server -Xincgc -Xmx1G -Xms768m -XX:NewRatio=2 -XX:CMSFullGCsBeforeCompaction=1 -XX:SoftRefLRUPolicyMSPerMB=2048 -XX:+CMSParallelRemarkEnabled -XX:+UseParNewGC -XX:+DisableExplicitGC -Xnoclassgc -XX:+UseFastAccessorMethods -XX:CMSInitiatingOccupancyFraction=90 -XX:+UseConcMarkSweepGC -XX:UseSSE=3 -XX:+UseCMSCompactAtFullCollection -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -XX:+UseLargePages -XX:ReservedCodeCacheSize=96m -XX:+UseCompressedOops -cp direwolf20.jar -jar direwolf20.jar
Also, if this machine is not at least a dual core machine you will need to adjust the number of threads for the parallel garbage collector.
EDIT: Added another tweak that I've been testing out myself. Seems to be working nicely.