|
|
 |
|
|
 |
CMS Saved Segment Management
Last update 29 July 2005
We recognize that managing saved segments for program products and
the segments that come with CMS can present some interesting challenges.
This page is meant to provide some useful information to help with
this challenge. Some general guidelines are provided along with
descriptions of the saved segments shipped with CMS.
To understand potential impact to paging performance see
Understanding Poor Performance Due to Paging Increases. Other
information on segments is available in VM/ESA Data
in Memory Techniques. See also SHARE presentation
VM/ESA Data in Memory Techniques.
Segment Placement Guidelines
- For segments that must be below the 16 meg line it is usually
better to work down from the lowest address CMS uses, thus avoiding
infringement into user virtual storage. Note that segments can be
placed inside a virtual machine's defined storage size.
- Use the CP INDICATE USER userid EXP command to determine the
defined storage limit and the address limit and other fun stuff.
- To avoid fragmenting storage and to increase the size of contiguous
storage, try to work up from highest address CMS uses. You might want
to leave a small gap of a few megabytes to allow for future growth in
CMS segments to minimize the changes for future releases.
- Remember that CMS will use a section of virtual storage for its
management of storage (free work area and page allocation table). This
is roughly 1.5 pages per megabyte of the virtual machine and is located
at the highest address not used by the CMS nucleus.
See the CMS Diagnosis Reference LY24-5259
for more details.
- See the VM/ESA Performance Manual SC24-5782 Chapter 3 "Guidelines
for Storage of a Virtual Machine" for some more information on impact
of segment placement and virtual machine size.
CMS Save Segment Descriptions
Below is a list of segments and a brief description of them.
-
CMSINST
-
The "Installation Saved Segment" by default contains a
list of the most commonly used system execs and XEDIT macros. By default,
it's loaded in every virtual machine.
-
HELP
-
Segment contains the FSTs for files on the help disk. It is used by many
people. Since it contains FSTs, it must be located below the 16 meg
line.
-
PIPES
-
The PIPELINES modules. Shipped as part of the CMSPIPES space. This
can be loaded above the 16 meg line. Pipelines is used by just about
everyone.
-
RXSOCKET
-
Contains the REXX Sockets code. It can run above the
16 meg line and is shipped as part of the CMSPIPES space.
-
CMSFILES
-
is a segment space that contains a modules (DMSDAC and DMSSAC)
used by CRR, SFS, or BFS server virtual machines, so it is
fair game to overlap with other program products or place above 32M line
since it is only for a subset of virtual machines and these machines
might already be greater than 32 meg.
-
VMLIB
-
This logical segment contains the callable services library (CSL).
The VMLIB logical segment is loaded by default in the SYSPROF EXEC,
so every CMS user has this segment loaded. It can be located above the
16 meg line. It is contained in the CMSVMLIB physical segment.
-
VMMTLIB
-
OBSOLETE.
From CMS 9 through CMS 11, this logical segment was part of the
CMSVMLIB physical segment. It contained the callable services
libraries for CMS multitasking. Starting with CMS 12, VMMTLIB moved
entirely into the CMS nucleus. From CMS 9 through CMS 11, the VMMTLIB
logical segment was loaded by CMS initialization, unless the user
specified MTSEG NO on the IPL command. In short, every CMS user loads
something from this segment. The CSL routines are used by CMS
functions as well as user applications. Even if you think you don't
use it, you probably do.
-
DMSRTSEG
-
This logical segment contains the REXX run time library used for
the CMS parts that are shipped as compiled REXX programs. It is used
by every CMS user and can be located above the 16 meg line. It was
first included in CMS 12 and is currently located in the CMSVMLIB
physical segment. If you have the full REXX compiler library installed,
you should use the full library instead of DMSRTSEG.
-
SVM
-
SVM is a generic, run-time, function library used by several
IBM products. DFSMS, ADSM, PVM, and one or more of the LAN
products use the SVM functions. The segment consists
of the DMSSVM5 and DMSSVM5C MODULEs. It can be loaded into
all users virtual machines, but by default is not. We ship
this with VM so that the products do not each need to include
it.
-
SCEEx
-
The SCEE and SCEEX physical segments contain the z/VM Language
Environment (LE) code. LE, as shipped in z/VM, consists of C/C++,
COBOL, and PL/I run-time libraries and their common execution
environment code. The SCEE segment consists of several logical
segments which may need to be explicitly loaded (via SEGMENT LOAD) in
order for the segment copy to be used. The logical segments in the
SCEEX segment will be dynamically loaded by the common execution
environment code if the SCEEX segment and the logical segments exist.
So, any call to a C/C++, COBOL, or PLI program will automatically load
SCEEX members.
Back to the Performance Tips Page
|
|
|