Hello, I just recently re-installed the OS on the PC running the minecraft server to Windows 7 64bit. I had installed the 32bit version of Java so I had to go back and get the 64bit version. The PC is an old Phenom 9850BE (2.5ghz/quad core) and it has 4GB of RAM. Going through the forums, I found different startup lines and I'm currently using this: Code: @echo off "C:\Program Files\Java\jre6\bin\java.exe" -XX:+UseLargePages -Xms2g -Xmx2g -XX:+UseParallelGC -XX:ParallelGCThreads=4 -Djava.net.preferIPv4Stack=true -jar CraftBukkit.jar nogui pause I don't understand a lot of those switches, I just copied what people said it worked for them. What are the best Java switches to get the most of the hardware? When I start the server, I get this line at the top: Java HotSpot(TM) 64-Bit Server VM warning: JVM cannot use large page memory beca use it does not have enough privilege to lock pages in memory.
I use simply this, which works fine for me. java -Xincgc -Xmx3G -jar craftbukkit.jar nogui The -Xincgc command is for incremental garbage collection. I've found it decreases the RAM usage of the Java process considerably, and has seemed to make the server run better than the default commands. Most of the other flags you'll see revolve around garbage collection, which may be useful if you run with much more RAM, but I still haven't seen a case where its worth while for less than 10GB RAM allocated to the Java process.
I haven't seen any Java flags that make better use of multiple cores. I've seen ones that decrease the amount of cores allocated for garbage collection, but that's meant to stop your system from spending too much on garbage collection, not to give you better performance out of multiple cores.