10.4 DUMP
New Qualifier: /SHARED_MEMORY
In the event of system crashes, it may be necessary to save
the contents of some or all of shared memory in addition to
the memory that is local to the system that has crashed. This
will be done either by writing shared memory to the system
dump file using enhanced system dump code, or as a separate
step using the DUMP/SHARED_MEMORY command. This
can be done either after the failed system reboots, or at any
time from another instance of OpenVMS in the same com-
munity. DUMP/SHARED_MEMORY writes to a separate
file, not to the system dump file.
Shared memory included in a system dump file will be
analyzed with the existing ANALYZE/CRASH_DUMP com-
mand. Shared memory dumped separately will be analyzed
using the new command ANALYZE/SHARED_MEMORY
(which is the topic of a separate note).
Syntax Description:
The format is: DUMP/SHARED_MEMORY [region_name_
list] [other_quals]
where "region_name_list" is a comma-separated list of the
regions of shared memory to be dumped, a logical name that
translates to such a list, or*", indicating that all regions in
shared memory are to be dumped. If no region name list
is given, the default is GLX$DUMP_RANGE, which is ex-
pected to be a logical name that translates to a list of regions
(or could be the name of a region itself).
A region name is given in the format:
region_name [=start_offset {:end_offset | ; number_of_bytes} ]
If just a region name is given, the entire region is dumped. If
a start offset and either an end offset or a number of bytes is
given, only that range of bytes within the region is dumped.
If *" is given, it must stand alone. The default radix for
start_offset, end_offset, number_of_bytes is hexadecimal. As
in SDA, such numbers can include a period to separate the
upper 32 bits from the lower 32 bits.
other_quals include the following:
/ALL_MEMORY All shared memory is to be dumped as a single
unit, regardless of whether it is part of a
named region. If /ALL_MEMORY is specified, the
region name list must not be given.
/COMPRESSED The dump is to be written in a compressed
format (same algorithm as used in system dumps)
/OUTPUT="file" The dump is to be written to the named file,
instead of the default, which is
GLX$SHARED_MEMORY.DMP in the current default
directory.
/SIZE="blocks" The size of dump file to be created initially.
If not given, a size is calculated. Either way,
the file is truncated to the number of blocks
written when the dump is complete. /SIZE can
only be specified if /OUTPUT is also specified.
/PHYSICAL Placeholder at this time.
Qualifier description:
The /SHARED_MEMORY qualifier indicates that a
shared memory dump is to be written. The new utility
GLX$DUMP_SHARED_MEMORY.EXE is invoked to write
the dump.
Examples:
1. $ DUMP/SHARED_MEMORY/ALL_MEMORY
All of shared memory is dumped to GLX$SHARED_MEMORY.DMP in
the current default directory.
2. $ DEFINE/USER GLX$DUMP_RANGE REG1,REG2=120000;40000
$ DUMP/SHARED_MEMORY/COMPRESSED/OUTPUT=TEST
The two regions REG1 and REG2 will be dumped, the former in its
entirety, but only bytes 120000 to 15FFFF of the latter. The
dump will be written in compressed format to the file TEST.DMP
in the current default directory.
3. $ DUMP/SHARED_MEMORY *
All regions in shared memory are dumped to GLX$SHARED_MEMORY.DMP in
the current default directory.