Read Java JVM startup parameters (eg -Xmx)

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() call
  • getInputArguments() 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.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)