Find out what JVM Eclipse is running on

I'm currently trying to tune my Eclipse installation and bumped into the "-vm" option. Other posts on SO mentioned that it's good to always use the latest JVM available because they keep getting better in terms of performance, so I'm likely to do that. I was wondering though how you could find out what JVM Eclipse runs on if you are not specifying the "-vm" parameter.

I found the following in the docs but that doesn't clarify how it will look for a JVM:

when passed to the Eclipse executable, this option is used to locate the Java VM to use to run Eclipse. It must be the full file system path to an appropriate Java executable. If not specified, the Eclipse executable uses a search algorithm to locate a suitable VM . In any event, the executable then passes the path to the actual VM used to Java Main using the -vm argument. Java Main then stores this value in eclipse.vm.


Actually, Windows->Preferences->Java->installed doesn't show you the one Eclipse runs under, but only the default JRE that it runs things under.

To see the one Eclipse is runing under, go to Help->About Eclipse Platform->Configuration Details, and look for the property eclipse.vm.

For example:

eclipse.vm=C:Program FilesJavajre6binclientjvm.dll

According to this thread and this one:

eclipse will try to locate your JVM used for launching itself by examining your path.

So, you can:

  • Create a JAVA_HOME environment variable, that points to your actually preferred JDK.
    This way you can easily choose between JDKs installed.

  • Put %JAVA_HOME%bin in the path, anywhere preceeding <windowsroot>system32 , which also contains java, javaw & co binaries.
    This way the java* in the JDK bin directory is invoked whenever it is invoked from the path.

  • I believe the other posts tell you how to find what JVM eclipse is using.

    However, I interpreted your question as: "what JVM will eclipse will use when launching itself ?" when no -vm args is used .


    After further research, it appears that eclipse will look for a JRE:

  • either directly under its installation directory ( <eclipse>jre ): if you copy the content of any installed JRE in that sub-directory, it will be selected
  • in C:Program FilesJavaJRE... .
  • in the %PATH% (see above)
  • Also read this SO answer to see why eclipse will by default select jvm.dll instead of javaw.exe


    If you go to Help->'About Eclipse Platform' and click on the 'Configuration Details' button it will take a moment to display, but you get a dump of everything eclipse is configured for...

    I found these 2 lines to be what you're looking for:

    -vm

    C:Program FilesJavajdk1.6.0_10bin..jrebinclientjvm.dll

    链接地址: http://www.djcxy.com/p/90592.html

    上一篇: 如何删除旧版本的Eclipse插件?

    下一篇: 找出正在运行的JVM Eclipse