Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Controlling buffer sizes of the x86 hardware (CISC)

The following system parameters control main memory use on x86 servers for the Just-In-Time compilation of /390 code by the CISC firmware:

JTABSMEM

Parameter name

Value range

STD value

JTABSMEM

0...1,000,000

0

This parameter defines the maximum JIT buffer memory size in MB. The memory is requested as resident and must therefore match the memory available on the machine.

The parameter's default value is 0. In this case the CISC firmware calculates the maximum memory size using the formula: MEMORY-SIZE * 40 %. The computed value of JTABSMEM is logged with the message HJT0039 on the console.

The upper limit for the resident memory used by the CISC firmware can also be permanently defined by specifying an explicit value from 1 - 1,000,000.

The value set can also be modified in ongoing operation using /MODIFY-SYSTEM-PARAMETERS, see below. However, you are urgently recommended to work with the preset default values and not to enter an explicit value for JTABSMEM as the use of the STD value has proved very effective in practice and also offers the automatic feature that the size of the JIT buffer is adjusted dynamically in relation to the main memory actually available (e.g. in the context of memory reconfiguration).

Modifying the setting

The following points must be borne in mind when the value set is modified:

  • The value set must match the details of the parameter value for BIG-PAGE-QUOTA, see the section on "Parameter service for memory management (MEMORY)" in the “Introduction to System Administration[10 (Related publications)]”. BIG-PAGE-QUOTA defines the maximum number of resident BIG PAGES in BS2000 which are stored by Memory Management and can be used by any BS2000 instances. Currently the CISC firmware is the only instance which uses BIG PAGES. For this reason the STD values for the two parameters must be adjusted to each other:

    Parameter

    Meaning

    JTABSMEM=0

    The CISC firmware utilizes up to 40% of the MEM-SIZE

    BIG-PAGE-QUOTA=40

    BS2000 Memory Management reserves 40% of the MEM-SIZE for BIG PAGES

  • If a value which is not equal to 0 is specified explicitly for JTABSMEM, you must always ensure that neither too many nor too few BIG PAGES are stored by BS2000 Memory Management:

    • In the first case too much reserved memory space would remain unused.

    • In the second case the CISC firmware would request any other resident memory above the available BIG PAGES up to the upper limit defined by means of JTABSMEM. As the address translation for this is significantly less powerful than for the BIG PAGES, this would lead to poorer performance for the TU programs.

  • A change to the preset values for the above-mentioned parameters might possibly make sense if bottlenecks in the use of the KIT memory do actually occur when the system executes. When the memory space already used in the JIT buffer approaches the limit value, the message HJT0035 is output with a corresponding JIT memory saturation level:

    • When level 1 is reached it is advisable to increase the threshold value.

    • When level 2 is reached you are urgently recommended to increase the threshold value, otherwise considerable losses of performance must be expected. Any increase should, however, always comply with the total main memory available and the memory requirement of the remaining BS2000. In such cases Customer Support should assess whether the main memory available is sufficient for the applications running on the system.

  • Regarding memory reconfigurations it should be considered:
    • While the size of the JIT biffer is dynamically adjusted to the actually available memory, occupied memory is only released upon program end.
    • It may therefore be desired to prepare a VM for a later /REDUCE-VM-MEMORY by setting a "too small" JIT buffer of 40% of the permantly remaining memory.

JTSTDMEM

Parameter name

Value range

STD value

JTSTDMEM

1...65535

16

This parameter, JTSTDMEM, determines how much JIT buffer the system can make available to each task within the global JIT buffer, provided that no other task-specific settings have been made by the /MODIFY-DBL-DEFAULTS command.

The default size of the task-specific JIT buffer is 16 MB. As the CISC firmware only requests as much memory as is necessary to run the current /390 programs, we recommend that you do not change the STD value. When the JTSTDMEM value is reached the message HJT0032 is given, the task-specific JIT buffer is reset and rebuilt. As the associated reduction in performance is normally low, the message is only issued in the CONSLOG file.

Enlarging the JIT buffer is only worthwhile in rare cases (e.g. a task with particularly large working set requirements).

To increase the size of the JIT buffer the new size must be specified with the following command (nn = number of MB):

/MODIFY-DBL-DEFAULTS SCOPE=*CMD-CALLS(CISC-COMPILATION=*YES(WORKSPACE=nn))

The change takes effect for all DBL calls (/START-, /LOAD-(EXECUTABLE-)PROGRAM, BIND). The command must be inserted into all Enter jobs or procedures if programs that need a larger JIT buffer are loaded there.

JTMAXMEM

Parameter name

Value range

STD value

JTMAXMEM

1...65535

128

The parameter JTMAXMEM fixes the maximum value which can be set as task-specific using the command /MODIFY-DBL-DEFAULTS.

JTSHMEM

Parameter name

Value range

STD value

JTSHMEM

0...256

64

Specifies how much storage space JITSYS is to use for storing shared compiled code (in MB).

Shared compiled code is created when emulating subsystems loaded in class 4 memory. If no such subsystems exist or these are not to be compiled as “shared”, the creation of shared combined code can be prevented with JTSHMEM = 0. The JTSHMEM value should be adjusted to the total amount of class 3 memory available.

The storage size specified with JTSHMEM is allocated immediately when JITSYS is initialized. Modification of the value during ongoing operation will, until further notice is given, not be supported. The value can only be specified in steps of 4; other values are rounded up to the next multiple of 4.

The default value for JTSHMEM should be changed together with the BIG-PAGE-SHRSIZE parameter in the MEMORY parameter set of the startup parameter service

The connection to the SHXSIZE parameter of the setup parameter service is indirect:

When the value selected for SHXSIZE is very high and the corresponding number of programs is actually loaded as “shared”, it also makes sense to increase JTSTDMEM.