Server-Class Machine Detection

Starting with J2SE 5.0, when an application starts up, the launcher can attempt to detect whether the application is running on a "server-class" machine and, if so, use the Java HotSpot Server Virtual Machine (server VM) instead of the Java HotSpot Client Virtual Machine (client VM). The aim is to improve performance even if no one configures the VM to reflect the application it's running. In general, the server VM starts up more slowly than the client VM, but over time runs more quickly.


Note: For Java SE 6, the definition of a server-class machine is one with at least 2 CPUs and at least 2GB of physical memory.

In Java SE 6, server-class detection occurs if neither -server nor -client is specified when launching the application on an i586 or Sparc 32-bit machine running Solaris or Linux. As the following table shows, the i586 Microsoft Windows platform uses the client VM by default. The remaining Sun-supported platforms use only the server VM.

Architecture OS Default client VM if server-class, server VM;
otherwise, client VM
Default server VM
SPARC 32-bit Solaris
 
X
 
i586 Solaris
 
X
 
i586 Linux
 
X
 
i586 Microsoft Windows
X
 
 
SPARC 64-bit Solaris
 
X
AMD64 Solaris
 
X
AMD64 Linux
 
X
AMD64 Microsoft Windows
 
X
Legend:   X = default VM      — = client VM not provided for this platform

For details of using command-line options for launching applications, see the java tool documentation for Solaris and Linux, or Microsoft Windows.


Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.