Show information on system and user address space
Component: | BS2000 |
Functional area: | System control and optimization |
Domain: | SYSTEM-MANAGEMENT |
Privileges: | STD-PROCESSING |
Function
The SHOW-ADDRESS-SPACE-STATUS command displays information on important and possibly critical values of the system and user address space. The following information is displayed:
Information on the system address space
Size of the system address space
Current size of memory classes 1 through 4
Maximum size of memory classes 3 and 4 during the session
Current and maximum sizes of the system address space used
Free gap between memory classes 3 and 4
Information on the user address space
Total size of the user address space
- Size of the user address space below 2GB (only on SU x86)
Maximum size of class 5 and class 6 memory in the user address space during the runtime of the specified task
The information on the system address space is only received by privileged users. The scope of information on the user address space can be defined with the USER-ADDRESS-SPACE operand.
The command supports structured output in S variables (see "Output in S variable").
Privileged functions
Privileged users (TSOS or SW-MONITOR-ADMINISTRATION privilege) receive information on the system address space and can have information displayed on the user address space of tasks of foreign user IDs.
Indications of critical situations
When class 3 and class 4 memory is requested, the system address space is searched for an adequately sized free area, but in different directions:
In the case of class 3 memory, the search takes place from the front in the direction of ascending addresses.
In the case of class 4 memory, the search takes place from the back in the direction of descending addresses.
Normally a gap of many MB remains free between class 3 and class 4 memory. If this gap shrinks to a few MB or disappears totally, larger requests for class 3 or class 4 memory are generally no longer possible. An acute danger of system address space saturation then exists.
Critical situations exist in the following cases:
The size of the system address space used differs by only a few MB from the maximum size of the system address space.
The maximum size of the class 5 and class 6 memory of a task differs by just a few MB from the size of the user address space.
Format
SHOW-ADDRESS-SPACE-STATUS | ||||||||||||||||||||
|
Operands
USER-ADDRESS-SPACE = *OWN / *LARGEST(...) / *ALL / *NONE / *TSN (...)
Determines the scope of the information on the user address space.
USER-ADDRESS-SPACE = *OWN
Information is output on the user address space of the local task.
USER-ADDRESS-SPACE = *LARGEST(...)
Information is output on the user address space of a particular number of tasks which occupy the most user address space. The output takes place in descending order beginning with the task which has reached the highest level of class 5 and class 6 memory. Nonprivileged users are only provided with information relating to tasks running under their own user ID.
NUMBER = 5 / <integer 1..4096>
Specifies the maximum number of tasks for which information will be output. The default is 5 tasks.
USER-ADDRESS-SPACE = *ALL
Information is output on the user address space of all tasks. The output takes place in descending order beginning with the task which has reached the highest level of class 5 and class 6 memory. Nonprivileged users are only provided with information relating to tasks running under their own user ID.
USER-ADDRESS-SPACE = *NONE
No information on the user address space will be output.
USER-ADDRESS-SPACE = *TSN(...)
Information is output on the user address space of the specified task.
TSN = <alphanum-name 1..4>
TSN of the task. Nonprivileged users can only specify a task which is running under their own user ID.
Return codes
(SC2) | SC1 | Maincode | Meaning |
---|---|---|---|
0 | CMD0001 | Command executed successfully | |
32 | EMM3601 | system error | |
64 | CMD0216 | Error: command privilege missing | |
64 | EMM3600 | Error: access authorization missing | |
64 | EMM3602 | Specified task does not exist | |
130 | EMM3603 | Insufficient storage space |
Output format
Sample output
/show-address-space-status user-address-space=*all
SYSTEM ADDRESS SPACE REPORT SYSSIZE MAX. USED MAX. CLASS 3 MAX. CLASS 4 SIZE OF HOLE 1024 MB 258.25 MB 98.18 MB 104.48 MB 754.18 MB SUM SIZE SIZE CLASS 1 SIZE CLASS 2 SIZE CLASS 3 SIZE CLASS 4 237.38 MB 36.09 MB 0.28 MB 96.78 MB 104.22 MB USER ADDRESS SPACE REPORT SIZE USER ADDRESS SPACE: 2908 MB SIZE USER ADDRESS SPACE < 2GB: 1900 MB TASK MAX. CLASS 5/6 1RHC 553.08 MB 1RHE 544.76 MB 1RC0 306.77 MB ... IGPN 17.95 MB 1RGD 17.87 MB BCAM 17.84 MB ... PGE 0.16 MB VMM 0.16 MB
Explanation of the output information
Info column | Meaning |
---|---|
| Information block for the system address space |
| Size of the system address space |
| Maximum system address space used during the session |
| Maximum class 3 memory used during the session |
| Maximum class 4 memory used during the session |
| Size of the gap between class 3 and class 4 memory |
| Current size of the class 1 through class 4 memory |
| Current size of the class 1 memory (=maximum) |
| Current size of the class 2 memory(=maximum) |
| Current size of the class 3 memory |
| Current size of the class 4 memory |
| Information block for the user address space |
| Total size of the user address space. On SU x86, this also includes the class 5 memory above 2GB. |
| Size of the user address space below 2GB (only on SU x86) |
The following values are displayed for each task: | |
| The task’s TSN |
| Maximum class 5 and class 6 memory used by the task (including memory pools) |
Notes
The total system and user address space used always remains below 2048 MB on SUs /390 because there the nonprivileged class 4 memory counts neither as user nor as system address space.
On SUs x86 this total always remains below the maximum possible value of 4096 MB because there the area between user and system address space is used for shared modules (nonprivileged class 4 memory) and for HAL data.The value
MAX. USED
is generally not equivalent to the total ofMAX. CLASS 3
,MAX. CLASS 4
,SIZE CLASS 1
andSIZE CLASS 2
, becauseMAX. CLASS 3
andMAX. CLASS 4
can be reached at different times during the session.
In the system address space there are areas which cannot be assigned to any of the memory classes 1 through 4. These areas are contained in theMAX. USED
value.
Output in S variable
The command's USER-ADDRESS-SPACE operand identifies the S variables which are to be created.
Notation used in command | Abbreviated form used in table |
---|---|
USER-ADDRESS-SPACE=*OWN / *LARGEST(...) / *ALL / *TSN (...), i.e. not *NONE | 1 |
Output information | Name of the S variable | T | Contents | Condition |
---|---|---|---|---|
Current size of the class 1 memory (=maximum) | var(*LIST).CLASS-1-SIZE | I | <integer 1..2048> | |
Current size of the class 2 memory(=maximum) | var(*LIST).CLASS-2-SIZE | I | <integer 1..2048> | |
Current size of the class 3 memory | var(*LIST).CLASS-3-SIZE | I | <integer 1..2048> | |
Current size of the class 4 memory | var(*LIST).CLASS-4-SIZE | I | <integer 1..2048> | |
Size of the gap between class 3 and class 4 memory | var(*LIST).HOLE-SIZE | I | <integer 1..2048> | |
Maximum class 3 memory used during the session | var(*LIST).MAX-CLASS-3 | I | <integer 1..2048> | |
Maximum class 4 memory used during the session | var(*LIST).MAX-CLASS-4 | I | <integer 1..2048> | |
Maximum system address space used during the session | var(*LIST).MAX-USED | I | <integer 1..2048> | |
Number of tasks for which information on the user address is output | var(*LIST).NUM-OF-TASK | I | <integer 1..4096> | 1 |
Current size of the class 1 through class 4 memory | var(*LIST).SUM-SIZE | I | <integer 1..2048> | |
Size of the system address space | var(*LIST).SYSSIZE | I | <integer 1..2048> | |
Total size of the user address space | var(*LIST).USER-SIZE | I | <integer 1..4096> | 1 |
Size of the user address space < 2GB | var(*LIST).USER-SIZE-BELOW-2GB | I | <integer 1..2048> | 1 |
Maximum class 5 and class 6 memory used by the task (including memory pools) | var(*LIST).USER(*LIST).MAX-CLASS-5-6 | I | <integer 1..2048> | 1 |
The task’s TSN | var(*LIST).USER(*LIST).TASK | S | <c-string 4..4> | 1 |