Controlling use of STEPLIBs
- If you enter the OMVS command either from ISPF or with STEPLIB
data sets allocated, include the statements in the shell profile.
For example:
if [ -z "$STEPLIB" ] &&; tty -s; then export STEPLIB=none exec sh -L fi
The STEPLIB data sets are not extensively searched or propagated from the shell process to the shell command on exec(). They are also not propagated to shell processes, which might have been necessary because a specific release level of the Language Environment® runtime library is needed.
- If you use the OMVS command to login to the shell, you can improve
performance by using a logon procedure that does not contain any JOBLIB
or STEPLIB DD allocations. Using that procedure reduces the amount
of storage that is copied for fork(). It also prevents excessive searching
of STEPLIB data sets and the propagation of STEPLIB data sets from
the shell process to the shell command processes on exec().
If you enter the OMVS command from ISPF or with STEPLIB data sets allocated, you can put certain statements in either /etc/profile or $HOME/.profile.
- If you export a specific STEPLIB, you can have the Language Environment runtime
library (SCEERUN) data set allocated as part of ISPLLIB to invoke
OMVS from ISPF. In this case, you need to customize $HOME/.profile so
that subset of the STEPLIB data sets is propagatedExample: Customize $HOME/.profile so that only the STEPLIB data set CEE.SCEERUN containing the Language Environment runtime library is propagated.
if [ -z "$STEPLIB" ] &&; tty -s; then export STEPLIB=CEE.SCEERUN; exec sh -L fi
Result: A module found in CEE.SCEERUN is loaded from that library into the user's private storage, even if the same module has been put into the LPA. This action can become a concern if the STEPLIB points to a Language Environment runtime library, because several loads are done for each exec() to initialize the environment. If you have a number of users accessing this load library, you can avoid directory I/O as well as I/O to load frequently used members by caching the library in LLA and VLF.