608 WebSphere Application Server V8.5 Administration and Configuration Guide for the Full Profile
For application development purposes, JVM provides the com.ibm.vm.bitmode programmatic
API, to determine the bit mode setting in which an application server is running.
17.4.2 Effects of switching to 64-bit mode
Running WebSphere Application Server in 64-bit mode allows for heap relief. It grants
WebSphere Application Server the ability to run heaps larger than 1 GB and provides access
for up to 16 EB of virtual memory. Alternatively, the cost of using 64-bit object references can
enlarge your heap by as much as 40%. The inherently bigger objects also affect data locality,
and thus contribute to higher translation look-aside buffer (TLB) and data cache miss rates.
These higher rates slow dynamic address translation (DAT) and affect application
performance.
The compressed references and large page support features can provide relief for reduced
throughput and memory footprint growth incurred when migrating from 31-bit JVM to 64-bit
JVM. With these two JVM properties turned on, 64-bit environments can match and out
perform previous 31-bit environments. These features are not turned on by default because
they have software and hardware requirements.
Compressed references
Compressed references is a method for managing object pointers with the JVM. Some
workloads in 64-bit environments have shown objects increased by up to 45% because the
object header and object references doubles in width. Compressed references mode is
usable for JVM heaps of up to 30 GB on z/OS. It reduces the size of the 64-bit object pointer
to 4 bytes (word).
In compressed references mode, object header referenced data (such as class-related data
and thread data) are allocated below the 2 GB bar. This allocation enables all the references
to be 32-bit and no padding to occur in the object header, as illustrated in Figure 17-3.
Figure 17-3 Header and object references in 31-bit and 64-bit mode
Tip: The administrative console uses the following command to facilitate the bit mode
change to 64-bit addressing inside the XML configuration files:
AdminTask.setJVMMode('[-nodeName nodename -serverName servername -mode
bitmode]').
Class Flags Monitor
Int
field
Object
field
Object
field
Class Flags Pad Monitor
Int
field
Pad
Object
field
Object
field
Class Flags Monitor
Int
field
Object
field
Object
field
Word
(4 bytes)
• 31-bit object (24 bytes)
• 64-bit object (48 bytes)
• 64-bit compressed references (24 bytes)