[z/OS]

Switching between 64 and 31 bit modes

When you create a new application server, it is automatically configured to run in 64-bit mode. You can deselect the Run in 64 bit JVM mode setting if you need to run the server in 31-bit mode. Whenever possible, however, leave your servers configured to run in 64-bit mode because support for running servers in 31-bit mode is deprecated. If you have any servers, that you migrated from a previous version of the product, that are running in 31-bit mode, consider reconfiguring them to run in 64-bit mode.

Deprecated feature: Because support for running a server in 31-bit mode is deprecated, whenever you start a server that is configured to run in 31-bit mode, you receive the following message in your system log, where server_name is the name of the server that is running in 31-bit mode:
BBOO0340W: 31-BIT MODE IS DEPRECATED FOR THE APPLICATION SERVER RUNNING ON THE Z/OS OPERATING SYSTEM. 
CONSIDER USING 64-BIT MODE FOR server_name AS AN ALTERNATIVE.
When a server runs in 31-bit mode, the following conditions exist:
  • Each server address space can access a maximum of 2 gigabytes of virtual memory.
  • The 31-bit JVM, that is located in the app_server_root/java directory, is used for the server.
When a server runs in 64-bit mode, the following conditions exist:
  • Each server address space can access a maximum of 16 exabytes (16 thousand million gigabytes) of virtual memory.
  • The 64-bit JVM, that is located in the app_server_root/java64 directory, is used for the server.

System requirements

Before starting to use a server that is configured to run in 64-bit mode, note that:
  • The AMODE parameter can be used to specify a particular addressing mode, either 31-bit or 64-bit, for the server. This parameter can also be set to a value of 00, which indicates that the server is to use the configured addressing mode. In the generated procedures, 00 is the default value for the AMODE parameter.

    If you convert a 31-bit server to the 64-bit addressing mode, make sure that your automation does not specify AMODE=31 on the MVS START command. If a server is started with an AMODE value that does not match the configured addressing mode, the server does not start.

    Avoid trouble: If the AMODE parameter is omitted, or set to 00 on the MVS START command, then the server starts in the currently configured addressing mode. If any other AMODE parameter is specified, that parameter must match the currently configured addressing mode. If the parameter does not match the currently configured addressing mode, the server terminates with one of the following error messages:
    BBOO0336E START OF WEBSPHERE FOR Z/OS PROCESS FAILED BECAUSE INPUT   
    AMODE 31 DOES NOT MATCH CONFIGURED AMODE 64
    BBOO0336E START OF WEBSPHERE FOR Z/OS PROCESS FAILED BECAUSE INPUT   
    AMODE 64 DOES NOT MATCH CONFIGURED AMODE 31
  • The REGION parameter on the JCL JOB or EXEC statement, and the MEMLIMIT parameter on the JCL JOB or EXEC statement, or in the SMFPRMxx parmlib member, determines the amount of virtual storage that a particular server can obtain. If you do not specify REGION=0M in the server cataloged procedure, you must use the MEMLIMIT parameter to set a virtual storage limit larger than the 2 gigabyte limit associated with 31-bit mode.
    Avoid trouble: Make sure that your system exits do not limit the address space size for 64-bit servers inappropriately.
  • Running servers in 64-bit mode requires additional auxiliary storage, in the form of either expanded storage or page data set space. Before running servers in 64-bit mode, review your page data set allocations for each z/OS target system, and add additional page data set space as needed. Also monitor paging and page data set utilization to ensure that the allocated auxiliary storage is sufficient.
For more information, see the following z/OS publications:
  • MVS™ Initialization and Tuning Reference, SA22-7592
  • MVS Programming: Extended Addressability Guide, SA22-7614

Converting a migrated server to run in 64-bit mode

Before converting an application server from 31-bit to 64-bit mode, complete the following actions:
  • Verify that your system meets the requirements specified in the Systems requirements section.
  • Verify that all applications that you plan to run on this application server are updated to use 64-bit native code and DLLs.

    The DLLs and other native code that your applications call must match the addressing mode of the server on which the applications are running. If you convert an existing application server from 31-bit mode to 64-bit mode, you must change any Java™ applications containing native code, for example, C++ or Cobol, that you plan to run on the converted server, to run in 64-bit mode. Java applications can use the com.ibm.vm.bitmode Java property to determine the mode in which the server is running, and then load the correct 31-bit or 64-bit DLL to the native code.

    An abend might occur if a server that is running in 64-bit mode tries to invoke an application that contains a 31-bit native module. Similarly, An abend might occur if a server that is running in 31-bit mode tries to invoke an application that contains a 64-bit native module.

    For more information about converting language-environment (LE) applications to run in 64-bit mode, see the z/OS publication Language Environment® Programming Guide for 64-bit Virtual Addressing Mode, SA22-7569.

To convert an application server from 31-bit mode to 64-bit mode, in the administrative console select the Run in 64 bit JVM mode option on the configuration settings page for that application server, and change the minimum and maximum JVM heap sizes to values that are appropriate for a 64-bit process. Similarly to convert an application server from 64-bit mode to 31-bit mode, deselect the Run in 64 bit JVM mode option on the configuration settings page for that application server, and change the minimum and maximum JVM heap sizes to values that are appropriate for a 31-bit process.

If you use the MVS START command to start a 64-bit server, make sure that the AMODE parameter is set to 00 or 64, or is allowed to default to 00, on the START command. For example, you might issue one of the following commands:

S BBO7ACR,JOBNAME=BBOS001,ENV=BBOBASE.BBONODE.BBOS001,AMODE=64

S BBO7ACR,JOBNAME=BBOS001,ENV=BBOBASE.BBONODE.BBOS001

The startServer.sh command, and the administrative console, automatically add the AMODE=64 parameter when they are used to start a 64-bit application server.

Converting a migrated deployment manager to run in 64-bit mode

Before converting a deployment manager from 31-bit to 64-bit mode, complete the following actions:
  • Verify that your system meets the requirements specified in the Systems requirements section.
  • Verify that all applications that you plan to run on the deployment manager are updated to use 64-bit native code and DLLs.

    The DLLs and other native code that your applications call must match the addressing mode of the server on which the applications are running. If you convert an existing application server from 31-bit mode to 64-bit mode, you must change any Java applications containing native code, for example, C++ or Cobol, that you plan to run on the converted server, to run in 64-bit mode. Java applications can use the com.ibm.vm.bitmode Java property to determine the mode in which the server is running, and then load the correct 31-bit or 64-bit DLL to the native code.

    An abend might occur if a server that is running in 64-bit mode tries to invoke an application that contains a 31-bit native module. Similarly, An abend might occur if a server that is running in 31-bit mode tries to invoke an application that contains a 64-bit native module.

    For more information about converting language-environment (LE) applications to run in 64-bit mode, see the z/OS publication Language Environment Programming Guide for 64-bit Virtual Addressing Mode, SA22-7569.

To convert a deployment manager from 31-bit mode to 64-bit mode, go to Servers > Server types > WebSphere application servers > server_name in the administrative console and select the Run in 64 bit JVM mode option on the configuration settings page for the deployment manager as well as change the minimum and maximum JVM heap sizes to values that are appropriate for a 64-bit process.

If you use the MVS START command to start a 64-bit deployment manager, make sure that the AMODE parameter is set to 00 or 64, or is allowed to default to 00, on the START command. For example, you might issue one of the following commands:
S BBO7DCR,JOBNAME=BBODMGR,ENV=PLEXA.PLEXABBOCELL.BBODMGR.BBODMGR,AMODE=64
S BBO7DCR,JOBNAME=BBODMGR,ENV=BBOCELL.BBODMGR.BBODMGR

The startServer.sh command and the administrative console automatically add the AMODE=64 parameter when they are used to start a 64-bit deployment manager.

Converting a server to run in 31-bit mode

Before converting a server from 64-bit to 31-bit mode, verify that all applications that you plan to run on the server use 31-bit native code and DLLs.

To convert a server from 64-bit mode to 31-bit mode, complete the following actions:
  • Start the server.
    The server tells you what mode it is in when it starts:
    BBOO0309I CONTROL PROCESS BBOBASE/BBONODE/BBOC001/BBOS001 IS EXECUTING IN 64-BIT ADDRESSING MODE
  • Go to Servers > Server types > WebSphere application servers > server_name in the administrative console.
  • Deselect the Run in 64 bit JVM mode option on the configuration settings page for the server.
  • Restart the server.
    Now, the following messages appear on the console and in the server job log:
    09.31.42 STC00104  BBOO0309I CONTROL PROCESS  BBOBASE/BBONODE/BBOC001/BBOS001 IS EXECUTING 
      IN 31-BIT ADDRESSING MODE.
    09.31.42 STC00104  BBOO0340W 31-BIT MODE IS DEPRECATED FROM THE APPLICATION SERVER ON THE
      Z/OS OPERATING SYSTEM. CONSIDER USING 64-BIT MODE FOR BBOS001 AS AN ALTERNATIVE.