Troubleshooting
Problem
User heap is a type of temporary storage that the operating system uses. This document describes how to use the system service tools macro USERHEAPS output to determine the address and current size of these heaps. This support can also be used to monitor for growth of these heaps.
Resolving The Problem
Use these steps to collect and review the USERHEAPS macro output from system service tools:
STEP 1: Collect the output:
- STRSST <enter>
- Specify credentials <enter>
- 1. Start a service tool <enter>
- 4. Display/Alter/Dump <enter>
- 2. Dump to printer <enter>
- 2. Licensed Internal Code (LIC) data <enter>
- 14. Advanced analysis <enter>
- Specify an option of 1 and the command USERHEAPS <enter>
- Specify options of -s <enter>
- Specify a dump title <enter>
- Exit system service tools by pressing F3 <exit> and watch for one of these messages:
If the following message appears, then take option 7. Display dump status and wait until the dump completes.
Dumps still incomplete. Press F3=Exit or F12=Cancel to end.
If the following message appears, then continue to press F3 <exit> and <enter> to exit System Service Tools
Dump completed normally -SAMPLE 1
STEP 2: Review the output:
- WRKJOB OPTION(*SPLF) <enter>
- Locate the spooled file named QPCSMPRT and take option 5=Display <enter>
- See the details and examples below to understand the output.
- The output lists the heaps in descending order by size. Two examples are provided.
- A heap can have at most 100 control segments. Both of these examples shows the 'Number of control segments' as 1.
- A recovery action will be required when a heap reaches 100 control segments.
- The owner of the OS module that created the heap can comment on how a new heap can be attached or if an IPL will be required.
- The OS module that created the two example heaps below are: DbPartitionHeap
- A wide variety of failures with an impact to a large number of jobs is possible when a heap reaches 100 control segments.
- The recovery action may be as simple as restarting a given job, using a specific set of steps to attach a new heap, or it may require an IPL.
- Heap is temporary storage and an IPL will generate a new heap. - Current heap size is the size of the particular heap in pages. The size of the two heaps in the examples are 108969 and 94872 pages.
- Maximum heap size is the maximum size the heap has reached in pages. The maximum size in the examples are 110436 and 96889 pages.
- A page is 4096 bytes.
- Control Segment #0 is the address of the heap. D639AA37CA and D9062C5696 in the two examples.
- The job or task and the OS module that created the heap are provided for each heap. This information can be helpful to determine the purpose of the heap and which jobs and tasks make use of the heap. Multiple jobs and tasks can use the same heap. The two example heaps were both created by the same procedure, DbPartitionHeap. But, a different job created the heaps, job 053899/QUSER/QZDASOINIT in the first example and 053768/QSYS/QDBSRV09 in the second example.


[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CGHAA2","label":"MustGather"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]
Historical Number
587269612
Was this topic helpful?
Document Information
Modified date:
11 November 2024
UID
ibm16557466