z/OS UNIX System Services Planning
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Improving performance of runtime routines

z/OS UNIX System Services Planning
GA32-0884-00

When C programs (including the shell and utilities) are run, they frequently use routines from the Language Environment® runtime library, which come from the SCEERUN data set. On average, about 4 MB of the runtime library are loaded into memory for every address space running a Language Environment-enabled program, and copied on every fork. If you have 200 address spaces running, this uses 800 MB of pageable storage. It also increases your paging rates or reduces the amount of work that the system can support. For information about the effect of putting modules into the LPA, see z/OS MVS Initialization and Tuning Guide .

To reduce this overhead and improve performance, you can do one of the following:
  • Put the SCEELPA data set in the LPA list. Because the SCEERUN data set has many modules that are not reentrant, you cannot place the entire data set in the link pack area using the LPALIST member of SYS1.PARMLIB. However, you can take advantage of a SCEELPA data set that contains a subset of the SCEERUN modules – those that are reentrant, reside above the line, and are heavily used by z/OS® UNIX.

    To improve performance, put the SCEERUN data set in the link list (LNKLSTxx member). Then use the LPALSTxx member to place the SCEELPA data set in the LPA list. You can also add additional modules to the LPA, using the dynamic LPA capability (SET PROG=). For more information about LPALSTxx and LNKLSTxx, see z/OS MVS Initialization and Tuning Reference.

  • Put libraries CEE.SCEERUN and CEE.SCEERUN2 into LLA. The library lookaside facility (LLA) minimizes I/O by keeping heavily used modules in a virtual lookaside facility (VLF) dataspace and keeping a version of the library directory in its own address space. Assuming that the libraries CEE.SCEERUN and CEE.SCEERUN2 are included in LNKLST, you might choose to include all LNKLST modules in LLA. For example:
    SYS1.PARMLIB(CSVLLAxx)
        LIBRARIES(-LNKLST-)
        FREEZE(-LNKLST-)
  • Manage the runtime library in STEPLIBs. If you decide not to put the runtime library in the link list, then you must set up the appropriate STEPLIB for each application that needs to load modules from SCEERUN. Although this method always uses additional virtual storage, you can improve performance by defining the SCEERUN data set to LLA. This action reduces the I/O that is needed to load the runtime modules.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014