Natively, I think we only accept --CLI (which tells KoLmafia to not load any user interface and do everything from the command line until you type in a GUI command like priphea; this is actually how I usually load KoLmafia nowadays, and it's handy since if you hit enter when it prompts you for a username, it drops you straight into KoLmafia's CLI and lets you run any scripts that do not require login) and the ability to specify a script to startup with. The script thing is usually only useful for cron tasks, but since you can just use < to redirect a file to standard in, the property isn't all that useful.
However, you can set all the Java
system properties on the command line (you specify them by saying "java -Dname=value"), which allows you to change things like where KoLmafia tries to save files (there's one that KoLmafia checks called 'useCWDasROOT' to see if it should use Windows-like behavior on Linux and OSX, and you can specify the current working directory by setting "user.dir"). There's also a few that aren't listed on that list, like java.awt.headless=true for telling Java never to try to load an AWT window (which is the base for Swing, which is what KoLmafia uses for its GUI) and a few that are Java implementation specific (so they differ between OpenJDK, Harmony, GCJ and Sun/Oracle Java --
example Sun list).
Some other useful ones are -Xms and -Xmx (which specify your memory settings) and -Xincgc which changes the way Java does
garbage collection. Since KoLmafia's a standalone Swing application, -Xincgc is really the only one that's sensible. Other useful things are setting your time zone (-Duser.timezone=GMT) and, depending on what version of Java you're using, you can also set network timeouts and all that fun stuff to fine-tune the way that KoLmafia runs. But all that said and done, it's just a simple desktop application so most of the cool
Java VM flags don't make much sense.