Try:
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.List;
public void runtimeParameters() {
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
List<String> aList = bean.getInputArguments();
for (int i = 0; i < aList.size(); i++) {
System.out.println( aList.get( i ) );
}
}
That should show all JVM parameters.
Note: we do not have JVM parameter in VCS either, but in a database, read by our own launchers in productions. That way, we can change those values remotely, without having to redeploy JVM parameter file settings.
You will find a good sumary of various JVM tools to use in this article (from the “Dustin’s Software Development Cogitations and Speculations”), including
Java Application Launcher links to :
ManagementFactory.getRuntimeMXBean(
) callgetInputArguments()
javadoc- Accessing JVM Arguments from Java (to determine, for instance, if JVM is running in debug mode, in order to alter the “grid initialization” logic of an application)
- Annotation Type MXBean
- MXBean Java Tutorial
This technique takes advantage of Platform MXBeans available since J2SE 5 (custom MXBeans support was added in Java SE 6).
Two useful sources of information on the JVM parameters available when using Sun’s JVM are:
- A Collection of JVM Options and
- Charles Nutter’s Favorite Hotspot JVM Flags.
Both of these resources list and describe some/all of the not-recommended-for-the-casual-developer double
X
arguments (-XX
) that are available.