The Monitor Control function allows you to monitor and manipulate the status of the running Com-plete session. It provides information about Com-plete subtasks, buffers, terminals, users, etc. In addition, Com-plete operator commands can be entered directly.
When you invoke the MO function, the following menu is displayed:
15:12:09 TID 11 COMTEST USER SAG 16.01.12 --- COM-PLETE CONTROL FACILITY --- UCT1 Function FC Function FC Function FC -------------------- -- -------------------- -- -------------------- -- ADABAS interface ... AI Program lookaside .. IP Task groups ........ PG ADABAS statistics .. AS Program in-stor dir. OP Task list .......... PL Buffer activities .. BA Resident programs .. RP Thread groups ...... TG Common storage ..... CS Find program ....... FP Thread subgroups ... SG DB2 thread status .. D2 Find in load chain.. FL Thread list ........ TL FBPM statistics .... FB Queue overview ..... QO Thread usage ....... TU Message log ........ CM Roll activities .... RA User activities .... UA VSAM statistics .... VS Server overview .... SO User status......... US Terminal overview .. TO Terminal status .... TS Print statistics ... PR Select function .... Operand ............ Operator command: Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- End |
You can select any of the MO subfunctions by entering the appropriate function code in the Select Function field and, optionally, an operand in the Operand field.
You can also enter Com-plete operator commands in the Operator Command field of this and any other screen of the MO function. The Monitor function then directly switches to the CM subfunction. For available operator commands, see the Com-plete Operator Commands documentation.
All subfunction screens have the same PF key assignments:
PF key | Function |
---|---|
PF3/CLEAR | Leave the Monitor Function |
PF7 | Scroll up |
PF8 | Scroll back |
PF10 | Scroll left |
PF11 | Scroll right |
ENTER | Refresh screen |
A direct switch to other subfunction displays is invoked by entering the appropriate function code.
The following table summarizes the Monitor information subfunctions:
The subfunctions are explained below in alphabetical order.
The AI subfunction displays information saved in the Com-plete/Adabas interface.
For every data base ID, the AI information screen contains data such as:
Data base number;
Parameter setting for this data base (ADAROLL, as set in the sysparms);
Total number of Adabas calls;
Total number of ROLLOUTs;
Percentage of ROLLOUTs compared to the total number of calls;
Average Responsetime per Database call.
14:59:35 TID 124 -DAEFCO- User COK 20.02.02 --- ADABAS Interface --- UCT5 DBid. SVC ADAROLL ADACAL ADALIM TotalCalls TotRoll (in %) AvgRTime *** TOP OF DATA *** 0 249 .ALWAYS 0 0 0 1 249 0.10 20 4096 7 1 14.29 0.000 9 249 0.10 20 6000 319970 15214 4.75 0.001 10 249 0.10 20 4096 72461 3471 4.79 0.003 12 248 0.10 20 4096 422624 20125 4.76 0.002 14 248 0.10 20 4096 20 1 5.00 0.052 18 248 0.10 20 4096 6 1 16.67 0.016 22 248 .ALWAYS 20 4096 0 24 248 0.10 20 4096 6 1 16.67 0.015 26 249 .ALWAYS 20 4096 0 29 249 0.10 20 4096 1854 85 4.58 0.043 31 249 0.10 20 4096 4 1 25.00 0.172 32 241 .ALWAYS 20 6000 0 34 249 0.10 20 4096 58 6 10.34 0.032 38 249 0.10 20 4096 11 1 9.09 13.714 -------------------------------------------------------- Active Users: 00123 Select function: Operand: Command: |
The AS subfunction displays statistics about a specific Adabas database. In order to interpret these statistics, consult the section on Adabas in Software Interfaces in the Com-plete System Programming documentation.
09:49:46 TID 9 COMTEST8 User COK 28.06.05 - Database Statistics - UCTB Database ID ..... 11177 Adabas SVC Nr.... 249 ADAROLL ......... .10 s (0=Always, -1=Never) ADACALL ......... 0 ADALIMIT ........ 0 Rolls for ADAROLL ... 1 ADAROLL exceeded ...... 1 Rolls for ADACALL ... 0 ADACALL exceeded ...... 0 Rolls for Priority .. 0 Response before roll .. 151 -------------------------------- ---------------------------------- Total Rolls ......... 1 Total Calls ........... 152 Thread Posts ........ 0 Elapsed Average .. .004296 s Commands without .... 0 time: Maximum .. .064669 s 'R' option ------------------------------------------------------------------------------- Select function: Database ID: 11177 Command: |
The information items are explained below:
Field | Meaning |
---|---|
Database Id | The Adabas database ID (0 - 65535). |
Adabas SVC Nr | The Adabas SVC (Router) used for communication with this database. |
ADAROLL | The value specified for the ADAROLL parameter for this database. |
ADACALL | The value specified for the ADACALL parameter for this database. |
ADALIMIT | The value specified for the ADALIMIT parameter for this database. |
Rolls for ADAROLL | The number of times an application was rolled out due to ADAROLL being exceeded and the thread was required by another program. |
Rolls for ADACALL | The number of times an application was rolled out due to ADACALL being exceeded. |
Rolls for priority | The number of times an application was rolled out while waiting for an Adabas call to complete and the thread was required by a task with a higher dispatching priority. |
Total rolls | The total number of rollouts performed by applications waiting for an Adabas call to complete. |
ADAROLL exceeded | The number of times that ADAROLL was exceeded by an application waiting for an Adabas call to complete. |
ADACALL exceeded | The number of times that ADACALL was exceeded by an application waiting for an Adabas call to complete. |
Response before roll | The number of times that the Adabas database responded before a rollout operation had to be performed. |
Total calls | The total number of Adabas calls issued against this database. |
Average elapsed time | The average elapsed time (in milliseconds) of a call issued against this database. |
Thread posts | The number of times the thread ECB was posted while an application was waiting for an Adabas call. |
Commands without 'R' option | The number calls issued which could have caused the application to wait for a held record but the command did not have the "return on held" option set. |
The BA subfunction displays information about the Tibtab:
Size;
Allocation;
Number of tibs; currently used entries, max used entries;
GET requests;
GET fails.
14:28:43 TID 12 COMTEST User SAG 01/18/12 --- Tibtab Statistics --- UCTA Size Loc No.of Tibs Curr.used Max.used Get issued Get failed 12K Above 64 14 ( 21%) 14 ( 21%) 16 0 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
The CM subfunction displays the most recent Com-plete console messages. An example is shown below.
13:38:10 TID 28 COM-5.1. User MBE 30.08.97 --- System Messages --- UCT3 12.29.15 COMOPC0041-* LOGOFF U=RSF1 SCHEDULED VIA TERMINAL ENQ 12.29.15 COMSMF0001-* LOGOFF: USER=RSF1 LU=SHRDAEN TID=26 ACCT=SYSCOM STATUS=C/ 12.29.15 COMSMF0005-* LOGOFF: AUTH=0 RMC=1234567 SMC=1234567 12.29.15 COMSMF0007-* LOGOFF: THRDT=0.62 CPU=0.1 EXCPS=0 TRANX=9 TERM=17,055 MS 12.29.15 COMSMF0008-* LOGOFF: ROLOUTS=16 Q-TIME=0.3 MCALLS=124 ADA-CALLS=0 ADA- 12.42.11 COMZUS0001-* USER RSF TID 18 TIBNAME SHRDAEN 12.42.11 COMZUS0002-* ADDRESS = 5EADCDE 12.42.11 COMZUS0003-* WAS - 47F0 12.42.11 COMZUS0004-* NOW - 4780 12.43.37 COMVTM2020-* LOSTERM LU=SHRDAEN TID=27 Code=20 12.43.37 COMSMF0001-* LOGOFF: USER=RSF1 LU=SHRDAEN TID=27 ACCT=SYSCOM STATUS=C/ 12.43.37 COMSMF0005-* LOGOFF: AUTH=0 RMC=1234567 SMC=1234567 12.43.37 COMSMF0007-* LOGOFF: THRDT=0.32 CPU=0.02 EXCPS=0 TRANX=1 TERM=5,667 MS 12.43.37 COMSMF0008-* LOGOFF: ROLOUTS=4 Q-TIME=0.02 MCALLS=13 ADA-CALLS=0 ADA-T 13.04.00 COMBPM0004-* BP WORKPOOL SP GENERAL (003), Expansion about to occur 13.04.00 COMBPM0006-* SP GENERAL(3) Esize=128 Eno=16 Size=2,048 Loc=ANY 13.04.00 COMBPM0013-* BP WORKPOOL SP GENERAL(3), Expanded successfully *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00008 Select function: Operand: PF7=up PF8=down PF10=left PF11=right Command: |
The number of messages available for display is set via the WTOBUFFERS sysparm.
This subfunction displays statistics about the usage of Com-plete Common Storage (COMSTOR).
15:04:01 TID 5 COM-5.1. User MBE 12.11.97 - Common Storage - UCTI Name.... Creator. Address. Length.. LastUser lReq/Flag lastReq Date + Time *** TOP OF DATA *** NAT22 COK 0A07CF68 00000010 COK PUT FREE 1997/11/12 15:04:00 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select Function: Operand: PF7=up PF8=down Command: |
Meaning of the information items according to column heading:
Heading | Meaning | |||
---|---|---|---|---|
Name | The name assigned to this specific COMSTOR area by the creator. | |||
Creator | The User ID that caused the COMSTOR area to be allocated. | |||
Address | The address of the Common storage area. | |||
Length | The length (in hexadecimal) as requested by the COMSTOR GEN function. | |||
LastUser | The User ID which caused the last access to the COMSTOR area. | |||
lReq/Flag | The last request type (GET, PUT, ...). | |||
Status Flag: | ||||
|
||||
LastReq Date + Time | Date and time of last access to the COMSTOR area. |
This function displays the status of all DB2 Threads.
17:34:31 TID 5 TEST-511 User MBE 07.10.98 -- DB2 connections -- UCTI No TaskGrp Status Userid SSID Plan Request DB2calls AvgTime *** TOP OF DATA *** 001 DEFAULT OPEN MBE DB2 C510PLAN SQL-CALL 52 0.021 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select Function: Operand: PF7=up PF8=down Command: |
Meaning of the information items according to column heading:
Heading | Meaning | |||||
---|---|---|---|---|---|---|
No. | The sequence number of the thread, up to the number of threads as defined in the SERVER sysparm. | |||||
TaskGrp | Name of the Task Group. | |||||
Status | Status of the thread. Possible values: | |||||
|
||||||
Userid | User ID owning the DB2 thread. | |||||
SSID | Subsystem Id this thread is connected to. | |||||
Plan | Current plan name. | |||||
Request | Last processed request. Possible values: | |||||
|
||||||
DB2 calls | The number of DB2 calls issued from this thread. | |||||
AVG time | The average elapsed time for one DB2 request. |
The FB subfunction allows you to list the currently active fixed buffer pools and display statistics about those buffer pools. If no parameter is provided in the Operand field, the currently active buffer pools are listed in a display similar to the following:
14:47:20 TID 11 COMTEST User SAG 19.05.10 --- Fixed Buffer Pool Statistics(*) --- UCTQ ---Number of Subpools/Storage by Location--- --Subpools Totals-- No. FBP-Name <ANY...> <BELOW.> <Other Locations used> Gets Fails Exp Cnt *** TOP OF DATA *** 1: WORKPOOL 16 3437K 8 313K 2692 0 7 0 2: GRSRPOOL 2 17K 0 591 0 0 0 3: ROLL 0 0 DS 8 7658K 88 0 3 3 4: Adabas 8 27K 0 0 0 0 0 5: COM-STOR 3 4K 0 0 0 0 0 6: VSAM-CB 1 5K 1 1K 0 0 0 0 7: VSAM-RSR 2 1K 0 1 0 0 0 8: DEBUG 3 163K 0 43 0 0 0 9: SPOOL 0 0 64BIT 1 4096K 128 0 0 0 10: VTAM 1 4K 0 9 0 1 0 11: REVIEWDC 5 42K 0 256 0 0 0 12: COMTEST8 1 16K 0 DS 1 512K 48 0 0 0 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00000 Select function: Operand: PF7=up PF8=down Command: |
The line display for a buffer pool only contains information if the buffer pool is active. If it is not possible to display the information, a message indicating the reason is displayed in the line, for example: Deleted, as in the above example.
Meaning of the information items according to column heading:
Heading | Meaning |
---|---|
No. | Number of the buffer pool relative to the time of creation. |
FBP-Name | Name of the buffer pool as specified at creation time via the DESC= parameter of the CMFBPM BPCREATE macro. |
ANY* | Storage acquired above (if supported) or below the 16 MB line. |
BELOW* | Storage acquired below the 16 MB line. |
Other Locations used | DS for Dataspace; 64BIT for storage above the bar. |
Gets | Total GETs for all subpools in this buffer pool. |
Fails | Total FAILs for all subpools in this buffer pool. |
Exp | Total Expansions for all subpools in this buffer pool. |
Cnt | Total Contractions for all subpools in this buffer pool. |
* Each of these columns may contain 2 values: the total number of subpools created for this buffer pool, and the total amount of storage used by all subpools in this buffer pool. These columns represent the data areas from where the stoirage is acquired for a subpool. This is a direct correlation of the LOC= parameter as specified in the CMFBPM SPCREATE macro when creating a subpool.
You can select a specific buffer pool to display a breakdown of subpool statistics: enter the buffer pool name or its relative number in theOperand field and press
.If a specific buffer pool is selected using the Operand field, there are two forms in which the buffer pool statistics can be viewed. You can toggle between the two forms using
and , while and can be used to scroll through the displays when there is more than one screen page of information. Where a numeric value exceeds the length of the area available to display it, it will be presented in K (value/1024) or M (value/1024/1024).If you select a specific buffer pool, the following screen is displayed:
13:05:41 TID 12 COM-5.1. User XJPO 10.03.97 --- Fixed Buffer Pool Statistics(1) --- UCTJ <.......Number of Elements.......> Subpool No Loc Esize Used(%) Max Used Base Curr High Gets Fails Exp Cnt *** TOP OF DATA *** Buffer Pool Name - WORKPOOL GENERAL 1 ANY 64 44( 69) 44( 69) 64 64 64 46 0 0 0 GENERAL 2 BELOW 64 3( 5) 7( 11) 64 64 64 271 0 0 0 GENERAL 3 ANY 128 6( 9) 8( 12) 64 64 64 25 0 0 0 GENERAL 4 BELOW 128 0( 0) 1( 6) 16 16 16 1 0 0 0 GENERAL 5 ANY 256 4( 6) 7( 11) 64 64 64 15K 0 0 0 GENERAL 6 BELOW 256 1( 3) 3( 9) 32 32 32 259 0 0 0 GENERAL 7 ANY 512 4( 12) 6( 19) 32 32 32 60 0 0 0 GENERAL 8 BELOW 512 0( 0) 4( 25) 16 16 16 208 0 0 0 GENERAL 9 ANY 1024 4( 12) 5( 16) 32 32 32 7 0 0 0 GENERAL 10 BELOW 1024 0( 0) 1( 6) 16 16 16 4 0 0 0 GENERAL 11 ANY 2048 2( 12) 2( 12) 16 16 16 2 0 0 0 GENERAL 12 BELOW 2048 0( 0) 1( 6) 16 16 16 17 0 0 0 GENERAL 13 ANY 4096 1( 25) 2( 50) 4 4 4 7 0 0 0 GENERAL 14 BELOW 4096 0( 0) 1( 25) 4 4 4 3 0 0 0 ----------------------------------------------------------- Active Users: 00002 Select function: Operand: 2 PF7=up PF8=down PF10=left PF11=right Command: |
Meanings of the various column headings:
Heading | Meaning | |||||
---|---|---|---|---|---|---|
Buffer Pool Name | This is the name of the buffer pool for which statistics are currently being displayed. This will only occur on the first screen display for a buffer pool if more than one screen is required to display all subpools in the buffer pool. | |||||
Subpool | This is the name of the subpool, which is an eight character indicator as to what the subpool is for. In the example above, the subpools are for general use and therefore have the same subpool name. In other allocated buffer pools, you will find differing names. | |||||
No | This is the number of the subpool in question. When subpools are allocated, they are given a sequential number which is one greater than the previously allocated subpool. | |||||
Loc | This indicates where the buffer elements are allocated. There are three possible values that can be displayed here: | |||||
|
||||||
Esize | This is a number indicating the size of the elements allocated in the subpool. | |||||
Used(%) | This shows the number of elements in use in the subpool along with the percentage of the currently allocated elements thta this figure represents. | |||||
Max Used | This shows the maximum number of elements ever used in the subpool along with the percentage of the base allocation for the subpool. Note that if the subpool has ever expanded, these values will not be displayed. | |||||
Base | This is the initial number of elements allocated for subpool when it was built. | |||||
Curr | This indicates the current number of elements allocated for the subpool. Note that this will equal the number given for 'Base' if there are no current expansions of a subpool. | |||||
High | This contains the highest number of elements ever allocated for the subpool. | |||||
Gets | This is the number of get requests that have been made against the subpool. | |||||
Fails | This is the number of get requests made against the subpool which have failed. A failure can occur for the following reasons: | |||||
|
||||||
Exp | This is the number of times that the subpool has expanded. If it contains '***', it indicates that the subpool has expanded more than 999 times. While expansion can be a normal part of the day, it is expensive and therefore subpools should be defined such that expansions are kept to a minimum. | |||||
Cnt | This is the number of times the subpool has contracted. This may also contain '***' indicating that contraction has occurred more than 999 times. Again, this is an indication that this subpool is trashing, as expansions and contractions are occurring regularly. In this case, the parameters causing the subpool to be built should be reviewed. Also, if expansions are occurring and no contractions are subsequently occurring, it indicates that the initial allocation for the subpool is not sufficient and should be changed or that elements of the subpool are not being freed for some reason. |
If you press
(scroll right) on a display for a specific buffer pool, the following screen is displayed.13:05:13 TID 12 COM-5.1. User XJPO 10.03.97 --- Fixed Buffer Pool Statistics(2) --- UCTK ---------Storage in Kbytes-------- --Buffer % Used-- Subpool No Loc Esize Used(%) Max Used Base Curr High R1 R2 R3 R4 R5 R6 *** TOP OF DATA *** Buffer Pool Name - WORKPOOL GENERAL 1 ANY 64 3( 75) 3( 75) 4 4 4 4 4 0 89 2 0 GENERAL 2 BELOW 64 0( 0) 0( 0) 4 4 4 99 0 0 1 0 0 GENERAL 3 ANY 128 1( 12) 1( 12) 8 8 8 0 16 68 8 0 0 GENERAL 4 BELOW 128 0( 0) 0( 0) 2 2 2 0 ** 0 0 0 0 GENERAL 5 ANY 256 1( 6) 2( 12) 16 16 16 0 2 0 1 0 98 GENERAL 6 BELOW 256 0( 0) 1( 12) 8 8 8 0 46 29 0 5 18 GENERAL 7 ANY 512 2( 12) 3( 19) 16 16 16 0 8 2 0 0 83 GENERAL 8 BELOW 512 0( 0) 2( 25) 8 8 8 0 3 24 0 0 71 GENERAL 9 ANY 1024 4( 12) 5( 16) 32 32 32 0 43 29 0 0 0 GENERAL 10 BELOW 1024 0( 0) 1( 6) 16 16 16 0 0 ** 0 0 0 GENERAL 11 ANY 2048 4( 12) 4( 12) 32 32 32 0 ** 0 0 0 0 GENERAL 12 BELOW 2048 0( 0) 2( 6) 32 32 32 0 12 44 0 31 12 GENERAL 13 ANY 4096 1( 25) 2( 50) 16 16 16 0 0 0 ** 0 0 GENERAL 14 BELOW 4096 0( 0) 4( 25) 16 16 16 0 ** 0 0 0 0 ----------------------------------------------------------- Active Users: 00002 Select function: Operand: 2 PF7=up PF8=down PF10=left PF11=right Command: |
The various sub headings on this display, which are the same as those on the first display, have the same meaning. The difference here is that the figure presented is in Kbytes. The values provided only related to the actual buffer subpool storage and do not include the storage required to maintain the buffer pool and it's subpools. For more information on this, please refer to Resource Usage and Estimates in the System Programming documentation.
The values in these columns provide an overview as to how much of the actual buffer is being used when it is obtaines. That is to say, even though a request may be satisfied by a buffer with a length of 64 bytes, it may only require 32 bytes; however, it will still have 64 bytes reserved for it. The intention is that the buffer subpools can be tuned based on the usage of the buffer pools and perhaps additional subpools defined and/or current allocations changed.
6 ranges are presented (R1 to R6). The figures below these ranges indicate the percentage of overall requests which only used that amount of the buffer. Where 100% of requests fall into a specific range, '**' will be seen as the range. The various ranges represent the following usages of the buffer. Note that if the buffer is utilised 100% it will not be reflected in any of the ranges.
R1 | less than 50% of the buffer used. |
R2 | 50% to 59% of the buffer used. |
R3 | 60% to 69% of the buffer used. |
R4 | 70% to 79% of the buffer used. |
R5 | 80% to 89% of the buffer used. |
R6 | 90% to 99% of the buffer used. |
The figures should be used to eliminate major wastage of storage. For example, if a buffer subpool consistently has 100% (ie '**') in the first range, it indicates that all requests satisfied by this subpool could actually be satisfied with an elements size which is half the size or possibly less, of the current element size defined for the subpool. As all requests in this category are satisified in this way, the element size of the subpool should simply be halved. In a case where 50% of the requests satisfied are in the 'R1' category, another buffer subpool with an element size half the currently defined size should be allocated. The number of elements for the new subpool should be half the number allocated for the current subpool while the scurrent subpools allocation should also be halved.
While this method could be used to fine tune the allocation of subpools and the sizes allocated, the storage savings must be weighed against the time spent fune tuning the system. Also, a change in system load can "undo" the newly tuned subpools and would require that the process be repeated.
The FL subfunction can be used to find out from which library in the COMPLIB chain a given program is loaded from. The name of the program must be entered in the operand field. A load count of 0 does not signify that the module has never been loaded from the library, but that no thread task has done so.
The FP subfunction can be used to find out where a given program is loaded from. The name of the program must be entered in the operand field.
The search for the load module is performed in the same sequence Com-plete uses when loading a program requested by the terminal operator or by an application:
resident programs
LPA/ELPA (OS systems) / SVA and partition GETVIS area (z/VSE systems)
program lookaside buffer
COMPLIB load library chain.
Depending on where the program is first found, the FP subfunction results in the screen of the RP, IP, or OP subfunction being displayed. When the program is first found in the LPA/ELPA (OS) or SVA/partition GETVIS area (z/VSE), this fact is indicated by an appropriate message in the top line of the screen.
The IP subfunction displays statistics on the programs in the lookaside buffer. Its contents can be specified using the PGMLOOKASIDE sysparm.
For every program in the buffer, the display contains the name and size of the program and the number of loads:
13:23:35 TID 13 COM-5.1. User MBE 05.10.97 --- Program Lookaside Buffer --- UCTG Name Size Loads Name Size Loads *** TOP OF DATA *** USTOR 10K 1 USTACK 20K 4 USTSF2 4K 4 UEBP 45K UEDIT 13K UEPROF 35K UETABS 1K UXEEX2 1K UXEEX3 2K UPDS 53K *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00002 Select function: Operand: PF7=up PF8=down Command: |
The OP subfunction displays the contents of the instorage program directory (ISD)
To avoid searching for a load module each time it is being loaded, Com-plete keeps the BLDL / LOADLIST information for the most recently used load modules in an instorage directory.
The size (number of entries) of the ISD can be specified using the PROGRAMISD sysparm.
For each load module in the ISD, the display contains the name and number of loads. If the number of loads is not indicated for a module, the appropriate load module has been requested, but does not exist.
14:49:24 TID 11 COMTEST User SAG 17.01.12 --- Program Instorage Directory --- UCTF Name Loads Name Loads Name Loads *** TOP OF DATA *** UCTRL 1 USTKX1 1 ULOGX1 1 UTMEX2 UTIMRM 1 RDCHISTO 1 RDCRTSTR 1 READCONS 1 TLMSMESG 1 TLAMMAIN 1 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down PF11=mode Command: |
With PF11 you can get more information about the library in the COMPLIB chain the module was loaded from:
14:51:12 TID 11 COMTEST User SAG 17.01.12 --- Program Instorage Directory --- UCTS Name Size Loads Loaded from Concatenation# *** TOP OF DATA *** RDCHISTO 28K 1 COK.RDC611.ORIGINAL.LOAD (+0) RDCRTSTR 3K 1 COK.RDC611.ORIGINAL.LOAD (+0) READCONS 7K 1 COK.SYSF.COM67X.ZAP.LOAD (+2) TLAMMAIN 5K 1 INS.COM671.MVSLOAD (+8) TLMSMESG 7K 1 COM.V671.LOA## (+7) UCTRL 47K 1 COM.V68.WORK.LOAD (+4) ULOGX1 2K 1 COK.SYSF.COM6XX.USER.LOAD (+5) USTKX1 1K 1 COK.SYSF.COM6XX.USER.LOAD (+5) UTIMRM 43K 1 COM.V68.WORK.LOAD (+4) UTMEX2 NOT FOUND *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down PF11=mode Command: |
This function will display a list of all task groups in the system. The following display is a sample of what will be displayed.
15:46:10 TID 5 COM-5.1. User MBE 12.11.97 --- Processor Groups --- UCTN Use counts Processors Q Counts Grp name Status Pri Curr High Act Hig All Curr High *** TOP OF DATA *** DEFAULT Active 248 13 18 2 2 2 0 3 NATURAL Active 248 2 3 2 2 2 0 1 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select function: Operand: PF7=up PF8=down Command: |
- Grp Name
This is the name of the group for which the information is being displayed.
- Status
This is the status of the task. The task group may be Active, Quiescing or Dormant. When a task group is active, Com-plete can allocate and deallocate tasks from that group at will. When the group is quiescing, any tasks that have previously been allocated will remain available until they are deallocated by all users using them. When the last task is deallocated, the task group will have deemed to be quiesced and the control block will be marked as dormant.
- Pri
This is the priority of the tasks associated with the task group. Under z/OS and Hitachi systems, this reflects the actual operating system priority assigned to the tasks.
- Use Counts - Cur
This is the number of users with the tasks currently allocated from the task group.
- Use Counts - High
This reflects the highest number of users which had tasks allocated in this task group at any one time since the group was initialised.
- Tasks - Act
This is the number of tasks which the installation wishes to have defined within the task group.
- Tasks - Hig
This is the highest number of tasks active at any one time since the task group was initialised
- Tasks - All
This is the number of tasks actually allocated for the task group. This may differ from the number of tasks active as when the number of tasks is to be reduced, the tasks must first be quiesced in order to let current users of the tasks to be deleted, to finish their work. These tasks and their associated resources will only be physically deallocated and disappear from this count when the last user deallocates the task and it becomes dormant. Tasks can be added or removed from task groups using the 'TASKS' operator command.
- Q Counts
Each task group has four work queues associated with it, each queue representing a priority from 0 to 3. The total values are provided for all queues in this display; if values for each individual display are required use the QO function. Because these values are changing as they are being collected, there is a very slight possibility that inconsistencies may appear in the figures displayed. For this reason, these figures must be taken as a good indication rather than absolute values.
- Q Counts - Curr
This is the number of users currently on queues associated with this task group.
- Queue Counts - High
This is the sum total of the highest number of users which were on each queue associated with this task group at any one time.
This function will display a list of all tasks in the requested task group and their current status. If no task group operand is provided, the tasks for all task groups are displayed. The following display is a sample of what will be displayed.
09:57:28 TID 9 COMTEST8 User COK 28.06.05 --- Processor List --- UCTT Use counts Waits.. ...Current/Last Active... Grp name Status Curr High Cur Hig LastOp User id Program Tid.. L Time *** TOP OF DATA *** SYSTEM A-Wait 1 2 4 4 Unknown COMTEST8 TLOSOPER 1 0 SYSTEM A-Disp 2 3 2 2 Unknown COMTEST8 TLAMMAIN 3 0 999 SYSTEM A-Disp 2 3 2 2 Unknown COMTEST8 TLMSMESG 4 0 999 SYSTEM A-Disp 2 3 2 2 Unknown COMTEST8 READCONS 6 0 999 SYSTEM A-Wait 0 1 2 2 DEFAULT A-Run 5 7 7 13 Readm COK UCTRL 9 2 NATURAL A-Wait 0 1 2 2 SPECIAL A-Wait 0 1 2 2 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
- Grp Name
This is the name of the task group of which the task in question is a member.
- Status
This reflects the current status of the task. The status is a combination of two state indicators separated by a dash ('-'). The primary state indicator, which is the letter preceding the dash, indicates whether the task is Active, Quiescing or Dormant by the letters A, Q and D respectively. Active in this sense indicates that the task is available to do work. When it is quiescing, it will remain active long enough to finish any work which has been started by the task while dormant tasks cannot be used and will have no secondary state associated with them. The secondary states which may occur are as follows:
'Wait' Status
This indicates that the task is waiting. In this state, the task is waiting on new work or on events requested by programs running in threads associated with it.
'Run' Status
This indicates that the task is currently running a user program.
'Disp' Status
This indicates that the task is going through it's dispatching cycle either finishing off old work or looking for new work.
- Use Counts - Curr
This is the current use count for the task. The use count includes the current user of the task, any users for whom a wait was issued on the task and any users with an affinity for this task.
- Use Counts - High
This reflects the highest ever use count experienced for the task since it was initialised.
- Wait Counts - Curr
This is the current wait count for the task. This reflects the number of events upon which the task is waiting and includes two standard events, those being that work has been queued to the task group work queues or to the task's own work queue.
- Wait Counts - High
This reflects the highest ever wait count experienced for the task since it was initialised.
- Last Op
This is the last Com-plete op which was issued under control of the task.
- Current/Last Active Userid
This is the userid of the current user active under control of the task or the last user to be active under control of the task if it has a secondary status of 'wait'. This may be blank in systems where logon is not forced and will generally be blank for ULOG sessions where the user is logging on.
- Current/Last Active Program
This is the name of the program currently active under control of the task, or the last program to be active under control of the task if it has a secondary status of 'wait'. If the task has never been used, this will be blank, however, once it has been used, this will always contain a value.
- Current/Last Active Tid..
This is the tid of the current TIB active under control of the task, or the last TIB to be active under control of the task if it has a secondary status of 'wait'. If the task has never been used, this will be blank, however, once it has been used, this will always contain a value.
- Current/Last Active L
This is the level number on which the user currently active under control of the task, or the last user to be active under control of the task if it has a secondary status of 'wait', is running. If the task has never been used, this will be blank, however, once it has been used, this will always contain a value. Level '0' will be displayed for a non-COM-PASS user, for a COM-PASS user who is running a program while something is stacked on all possible levels and for certain programs which must run on level 0 such as ULOG.
- Time
When the task has a secondary status of 'Run', this will reflect the time in seconds that this user has spent under control of the task.
The PR subfunction allows you to print the information items provided by most of the other subfunctions via a hardcopy device. Having specified a destination printer in the first screen, you can define from which subfunction you wish to print:
10:31:30 TID 11 DEV--631 User COK 06.10.04 --- Print COM-PLETE Control Information --- UCTP Function Sel Function Sel --------------------------- --- --------------------------- --- ADABAS interface data ..... _ Queue overview data ....... _ Program instorage directory _ Task (process) list data... _ Program lookaside ......... _ Thread subgroup data ...... _ Resident program usage .... _ Thread list data .......... _ Roll activities ........... _ Buffer activities ......... _ FBPM statistics............ _ User activities ........... _ Server overview ........... _ DB2 thread status ......... _ Spooling system ........... _ VSAM statistics ........... _ Select (mark) for printout Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Quit All Confm |
Select the item(s) you want to be printed by typing any character in the appropriate input fields, and press
to confirm your selection. Pressing causes all items to be printed.If you select "User Activities", an additional screen is displayed, allowing you to design the printout for this subfunction:
14:37:47 TID 13 COM-5.1. User MBE 12.04.97 --- Printout Design For User Activities --- UCTU Field S Field S ------------------------------------ - ----------------------------------- - User ID ............................ A Total number of transactions ...... M LU-name ............................ B Total number of EXCPs ............. N TID number ......................... C Amount data sent to/from terminal . O Authorization code ................. D Message switching/printout spooling P Account number ..................... E Number of ADABAS transactions ..... Q Logon date ......................... F Average ADABAS response time ...... R Logon time ......................... G Com-plete monitor calls ........... S Time of the last transaction ....... H Average monitor calls / transaction T Current thread ..................... I Total number of ADABAS calls ...... U Current Program .................... J Average ADABAS calls / transaction V Total elapsed time in thread ....... K Average ADABAS time / transaction . W CPU time used ...................... L Select columns in desired order: A Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- End Std3p Confm |
Press
to create the standard printout on three pages, equivalent to the three screens described for the UA subfunction in this section.You may wish to print some of the information items, by default distributed among different pages, side by side on the same page. To do so, type in the characters associated with the appropriate items in the order you want the columns to be located in the printout. When you enter this screen, it may already contain a default selection set up by user exit U2EXIT1 of your installation (in the above example, it is "A".
If the line length of the printout you design exceeds the maximum of 121, you are informed about the overflow and have to resign one or more items. The printout is created when you confirm your selection by pressing
.This function displays a list of all queues currently defined in the system and their current status. The following is a sample of what will be displayed.
15:38:05 TID 10 COMTEST8 User SAG 04.01.06 --- Queue Overview --- UCTW In Queue Total ---- Time in Queue ---- Queue name Curr HWM Enq Last Average HWM Time of HWM Last DEQ *** TOP OF DATA *** Output Queue 0 0 0 0.000 0.000 0.000 Input Queue 0 0 0 0.000 0.000 0.000 Completion Queue 0 0 0 0.000 0.000 0.000 Message Queue 0 0 0 0.000 0.000 0.000 $SYSTEM threadSG 0 0 0 0.000 0.000 0.000 $SYSTEM thread-Q 0 0 0 0.000 0.000 0.000 SPECIAL threadSG 0 0 0 0.000 0.000 0.000 SPECIAL thread-Q 0 0 0 0.000 0.000 0.000 UT0256 threadSG 0 0 0 0.000 0.000 0.000 UT0256 thread-Q 0 0 0 0.000 0.000 0.000 UT0256 thread-Q 0 1 1 7.833 7.833 7.833 04.01 15:28 UT0256 thread-Q 0 0 0 0.000 0.000 0.000 UT0256 thread-Q 0 0 0 0.000 0.000 0.000 UT0512 threadSG 0 0 0 0.000 0.000 0.000 UT0512 thread-Q 0 0 0 0.000 0.000 0.000 ----------------------------------------------------------- Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
- Queue Name
This is the 16 character name of the queue for which details are provided. The first six queues are the standard system queues used by Com-plete. Following this, each of the task group's queues will follow. The first eight characters of these queue names will contain the task group name while the second eight characters indicates their purpose within the task group.
Each task group has one common work queue upon which the work is queued that does not have an affinity to a particular TCB within the group, i.e. that can be executed on any TCB in the group. In addition, each task within the group will have its own work queue with the identifier 'TASK-Q' associated with it. These queues are used for work which is associated with a particular task.
- Current in Queue
This is the number of tibs currently in the queue.
- HWM in Queue
This is the maximum number of tibs that was ever at one time in the queue.
- Total in Queue
This is the total number of tibs which were ever queued here.
- Time in Queue (LAST)
This is the time in milliseconds the last tib spent in the queue.
- Time in Queue (Average)
This is average amount of time in milliseconds a tib spent in the queue.
- Time in Queue (HWM)
This is longest time a tib ever spent in this queue.
- Time of HWM
Shows when the HWM for 'Time in Queue' was taken.
- Last Deq
If there are currently tibs in the queue, this means either the time when the tib was put in an empty queue, or the time when an already waiting predecessor was taken (dequeued) from the queue.
This function displays performance critical statistics from the Com-plete Roll Subsystem. These statistics should be monitored on a regular basis to check if changes ara necessary. The Roll Activities display is as follows:
15:32:30 TID 12 COM-610 User MBE 20.04.00 --- Roll Activities(1) --- UCTE Average Amount Rollout/in Avg Rsize 1183 K Out Total 418 Avg Csize 62 K In Total 400 ------------------------------------------------------------------------------- Select function: Operand: PF11 right Command: |
The information items are explained on the following pages.
Item | Meaning |
---|---|
Avg Rsize | Average size of thread image that has been rolled up to this point. |
Avg Csize | Average size of the thread image after Com-plete compression has been performed and is the average of the actual amount of data which the roll subsystem will have rolled. |
Out Total | Total number of rollout requests. |
In Total | Total number of rollin requests. |
An additional display is available by pressing
from the first RA screen, which presents an overview of the size of the images being rolled out, the number of such images and the percentage of the total. Each rollout size is rounded to the nearest 4k, therefore for every 4k slot (8K, 12K, 16K......1024K) a count is kept of the number of images of each size. To keep the display simple, where a size has not been used, it is not displayed. Therefore, the display consists of an entry for each size which has actually been rolled, the number of times that size was rolled and the percentage of the total rollouts in the system. This display enables you to determine what the load on the roll subsystem is and to determine the subpool sizes and number of elements required for a Fixed Roll Buffer Pool. The following is an example of this display:13:07:06 TID 12 COM-5.1. User XJPO 10.03.97 --- Roll Activities(2) --- UCTL Size Number % Size Number % Size Number % Size Number % *** TOP OF DATA *** 16K 50 1 100K 500 10 256K 250 5 320K 1950 39 500K 2250 45 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00002 Select function: Operand: PF7=up PF8=down PF10=left PF11=right Command: |
The RP function displays statistics on the resident programs.
For every resident program, information displayed includes the flag for ‘deferred delete’ as well as the name and size of the program, the number of loads, current use count, the load-point, entry-point and linkage editor options (z/OS: reentrant, reusable; z/VSE: in SVA, SVA eligible) .
09:02:52 TID 12 COMTEST User SAG 16.12.11 --- Resident Programs --- UCTC D Name Size Loads Current Entry_pt Load_pt Attr *** TOP OF DATA *** USTSF2 4K 1 0 A7F401D0 27F401D0 RN RU USTACK 13K 1 0 A7F40E78 27F40E78 RN RU ULG0F2 1K 1 0 A7F12048 27F12048 RN RU TLAMTNDE 4K 1 1 A70771C0 270771C0 RN RU RDCCOMP 20K 1 0 A7ED3000 27ED3000 RN RU PAENSTRT 2K 1 1 A703D518 2703D518 RN RU TLOSOPER 1K 1 1 A50E81A8 250E81A8 RN RU UEDTB1 15K 0 0 A50E8558 250E8558 RN RU ULPGMTAB 1K 0 0 00007028 00007028 IDCAL01 69K 0 0 8003EEE0 0003EEE0 RN RU IDCAMS 107K 0 0 80059EE8 000505A8 RN RU IDCCDAL 20K 0 0 0006B030 0006B030 RN RU IDCCDLC 3K 0 0 0000A428 0000A428 RN RU IDCCDPR 5K 0 0 80070DF8 00070DF8 RN RU IDCLC01 250K 0 0 80072928 00072928 RN RU ----------------------------------------------------------- Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
The flag for deferred delete is set when ULIB REF or PGM REFRESH was issued and the old module still had a usecount>0 . As soon as the usecount is 0, the module will be deleted. New users will always access the new version of the module during this time.
This function will display a list of all thread subgroups in a requested thread group and their current status. If no thread group name is provided as an operand, the subgroups of all thread groups will be displayed. The following display is a sample of what will be displayed.
15:01:48 TID 11 COMTEST User SAG 17.01.12 --- Thread Subgroups --- UCTY Size_(in_K) HWM__(in_K) UseCounts WaitCount Name Above Below Threads Above Below Curr High Curr High CPU Real K *** TOP OF DATA *** $SYSTEM 256 16 4 0 0 4 5 0 0 None None N TCSSPEC 1024 512 1 0 0 0 1 0 0 10.00 20.00 N KEYNINE 1024 48 2 40 0 2 3 0 0 10.00 20.00 9 KEYMIX 1024 256 4 61 1 3 4 0 0 10.00 20.00 M SMALL 1024 4 2 0 0 0 1 0 0 10.00 20.00 M BIG 1024 512 1 0 0 0 1 0 0 10.00 20.00 M *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
- Name
This is the name of the subgroup to which the line of statistics relates.
- Above
This is the amount of storage each thread in the subgroup has available above the line.
- Below
This is the amount of storage each thread in the subgroup has available below the line.
- Threads - Def'd
This is the number of threads which the installation wishes to have defined within the thread subgroup.
- Threads - Alloc
This is the number of threads actually allocated for the thread subgroup. This may differ from the number of threads defined as when the number of threads is to be reduced, the threads must first be quiesced in order to let current users of the threads to be deleted, finished their work. These threads will only be physically deallocated and disappear from this count when the last user deallocates the thread and the thread becomes dormant.
Note: Com-plete does not currently provide a mechanism to change the number of threads defined within a thread subgroup dynamically, therefore the values given for 'Threads' should always be identical.
- HWM Above/Below
This shows the highest amount of thread storage used above/below the line in the thread group.
- Use Counts - Curr
This is the number of users with the threads currently allocated from the thread subgroup.
Note that users which are rolled out and relocatible are not included in any subgroup
- Use Counts - High
This reflects the highest number of users which had threads allocated in this subgroup at any one time since the subgroup was initialised.
- Wait Counts - Curr
This is the number of users currently waiting for a thread of the thread subgroup to become available. Users waiting for a distinct thread due to an affinity are not included in this number.
- Wait Counts - High
This reflects the highest number of users which were waiting for a thread of the thread subgroup to become available at any one time since the subgroup was initialised
- CPU
This is the number of CPU seconds which a user program using the thread subgroup in question can use between roll outs before being terminated abnormally by Com-plete. If the word 'none' appears for this field, it indicates that no CPU time was requested in the Sysparms. Note that Com-plete still sets a nominal time of 24 CPU hours when no CPU timing is requested by the user. This is required for the calculation of CPU time statistics.
- Real
This is wall clock time which is set for each thread in the subgroup. If a user program occupies the thread without doing a rollout for longer than this time, a message is issued to the operator console. This message will be repeated every 30 seconds after the first message if the user program does not give up the thread. If the word 'none' appears in this field, it indicates that Com-plete is not calculating the length of time user programs are in a thread for threads in this subgroup.
- K
This is the key in which threads in the subgroup are set when a new program starts in one of the threads. If an absolute key number is displayed, it indicates that all threads in the subgroup get that key. If the letter 'M' is displayed, it indicates that the keys for threads within the subgroup are mixed within the range of user protect keys available from the operating system.
This subfunction displays an overview of Servers active in Com-plete.
10:03:44 TID 9 COMTEST8 User COK 28.06.05 --- Server Overview --- UCTH Name CB addr INIT module INIT addr Req. Handler *** TOP OF DATA *** HTTP 1A67B000 HAENSERV 9C8838E8 00000000 COM-DUMP 00000000 RMDUSERV 00000000 00000000 COKNAT41 1C8820D8 COKNAT41 9C881C68 9C881FC0 NATBPS31 1A64C600 NATBPS31 9C111398 9C11162E NATBPS22 1A64C5C0 NATCBPS2 8050B0A8 8050B39E JESC 1BFC5028 TLINJES2 80522208 00000000 CONSOLE 1A62BC80 TLINCONS 9C3AC600 00000000 COMPLETE 1A650200 TLINCOMP 9BF9AFE0 00000000 POSIX 0003F000 PAENKERN 9BF19230 00000000 OPERATOR 1A64BDC0 TLINOPER 9A627150 00000000 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select Function: Operand: PF7=up PF8=down Command: |
Meaning of the information items according to column heading:
Heading | Meaning |
---|---|
Name | The name given to the server. This is the first subparameter of the SERVER sysparm. |
CB addr | The address Server Control Block where every server can keep relevant data. |
INIT Module | The name of the Server Initialization module. |
INIT addr | Load address of the Server Initialization module. |
Req. Handler | Load address of the Server Request handler. |
This function will display a list of all thread groups in the system. The following display is a sample of what will be displayed.
10:08:45 TID 9 COMTEST8 User COK 28.06.05 --- Thread Groups --- UCTX Use counts <-Threads-> Grp name Status Curr High SGrps Def'd Alloc *** TOP OF DATA *** SYSTEM Active 4 5 1 4 4 SPECIAL Active 1 3 1 1 1 DEFAULT Active 4 5 3 7 7 NATURAL Active 0 1 2 2 2 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
- Grp Name
This is the name of the group for which the information is being displayed.
- Status
This is the status of the thread group. The thread group may be Active, Quiescing or Dormant. When a thread group is active, Com-plete can allocate and deallocate threads from that group at will. When the group is quiescing, any threads that have previously been allocated will remain available until they are deallocated by all users using them. When the last thread is deallocated, the thread group will have deemed to be quiesced and the control block will be marked as dormant.
- Use Counts - Curr
This is the number of users with threads currently allocated from the thread group.
- Use Counts - High
This reflects the highest number of users which had threads allocated in this thread group at any one time since the group was initialised.
- Sgrps
This is the number of subgroups contained within the thread group.
- Threads - Def'd
This is the number of threads which the installation wishes to have defined within the thread group.
- Threads - Alloc
This is the number of threads actually allocated for the thread group. This may differ from the number of threads defined as when the number of threads is to be reduced, the threads must first be quiesced in order to let current users of the threads to be deleted, to finish their work. These threads will only be physically deallocated and disappear from this count when the last user deallocates the thread and the thread becomes dormant.
Note: Com-plete does not currently provide a mechanism to change the number of threads defined within a thread group dynamically, therefore the values given for 'Threads' should always remain constant throughout a given run of Com-plete.
This function will display a list of all threads in the request thread group and their current status. If no thread group is provided as an operand, the threads for all thread groups will be displayed. The following display is a sample of what will be displayed.
10:04:26 TID 9 COMTEST8 User COK 28.06.05 --- Thread List --- UCTZ Use counts Wait Cnts ...Current/Last Active... Subgrp Status Curr High Curr High K Last Op User ID Program Tid.. L Time *** TOP OF DATA *** $SYSTEM A-Run 1 1 0 0 8 Unknown COMTEST8 TLAMMAIN 3 0 999 $SYSTEM A-Run 1 1 0 0 8 Unknown COMTEST8 TLMSMESG 4 0 999 $SYSTEM A-Run 1 1 0 0 8 Unknown COMTEST8 READCONS 6 0 999 $SYSTEM A-Occ 1 1 0 0 8 Unknown COMTEST8 TLOSOPER 1 0 SPECIAL A-Free 1 3 0 0 8 Coexit COMTEST8 PAENSTRT 10 0 UTIL0256 A-Occ 1 1 0 0 D Abexit COMTEST8 PAENSTRT 2 0 UTIL0256 A-Occ 1 1 0 0 C Wrtse COK RDCCOK33 9 1 UTIL0256 A-Run 1 1 0 0 B Readm COK UCTRL 9 2 UTIL0256 A-Free 0 0 0 0 A UTIL0512 A-Occ 1 1 0 0 F Rolout COMTEST8 UTIMRM 8 0 UTIL0512 A-Free 0 0 0 0 E UTIL1020 A-Free 0 0 0 0 A SMALLNAT A-Free 0 0 0 0 8 BIGNAT A-Free 0 0 0 0 8 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00001 Select function: Operand: PF7=up PF8=down Command: |
- Subgrp
This is the name of the thread subgroup of which the thread in question is a member.
- Status
This reflects the current status of the thread. The status is a combination of two state indicators separated by a dash ('-'). The primary state indicator is the letter preceding the dash and indicates whether the thread is Active, Quiescing or Dormant by the letters A, Q and D respectively. Active in this sense indicates that the thread is available to do work. When it is quiescing, it will remain active long enough to finish any work which has been started in the thread while dormant thread cannot be used and will have no secondary state associated with them. The secondary states which may occur are as follows:
'Free' Status
This indicates that the thread is free to run other work. If there was a previous user of the thread, this state indicates that this user's program ended or has been rolled out.
'Occ' Status
The 'occupied' status indicates that the thread is available to do work, however, the user program currently occupying the thread must first be rolled out prior to starting any other new work in the thread.
'Disp' Status
This indicates that the thread is reserved and the dispatcher is currently in the process of either starting a new user program or rolling in a user program which was previously rolled out.
'Run' Status
This indicates that the user program in the thread is currently running.
'Susp' Status
This indicates that the user program has been temporarily suspended as a wait was issued either directly by the user program or indirectly by a function used by the program. In this state, the user program may not be rolled out. Internally it indicates that the operating system task associated with the work is active elsewhere. Once the condition for the wait is satisfied, the task will continue processing this work.
- Use Counts - Curr
This is the current use count for the thread. The use count includes the current user of the thread plus any other non relocatible users previously rolled out from this thread.
- Use Counts - High
This reflects the highest ever use count experienced for the thread since the thread was initialised.
- Wait Counts - Curr
This is the current wait count for the thread. This reflects the number of users waiting to run in the thread at the present time.
- Wait Counts - High
This reflects the highest ever wait count experienced for the thread since the thread was initialised.
- K
This is the key in which the user area of the storage is currently in when the thread is active, or is the key in which the last user of the thread left it. Note that the user area of the storage depends on the catalogue size of the current or last user of the thread.
- Last Op
This is the last Com-plete operation which was issued in the thread.
- Current/Last Active Userid
This is the userid of the current user active in the thread or the last user to be active in the thread if the thread has a status of 'free' or 'occ'. This may be blank in systems where logon is not forced and will generally be blank for ULOG sessions where the user is logging on.
- Current/Last Active Program
This is the name of the program currently active in the thread, or the last program to be active in the thread if the thread has a status of 'free' or 'occ'. If the thread has never been used, this will be blank, however, once the thread has been used, this will always contain a value.
- Current/Last Active Tid..
This is the tid of the current TIB active in the thread, or the last TIB to be active in the thread if the thread has a status of 'free' or 'occ'. If the thread has never been used, this will be blank, however, once the thread has been used, this will always contain a value.
- Current/Last Active L
This is the level number on which the user currently active in the thread, or the last user to be active in the thread if the thread has a status of 'free' or 'occ', is running. If the thread has never been used, this will be blank, however, once the thread has been used, this will always contain a value. Level '0' will be displayed for a non-COM-PASS user, for a COM-PASS user who is running a program while something is stacked on all possible levels or for specific programs which must run on level 0 such as ULOG.
- Time
When the thread has a secondary status of 'Susp' or 'Run', this will reflect the time in seconds that this user has spent in the thread.
The TO subfunction displays information about terminals and printer status. Information items include:
The name of the TIB onto which the user is logged;
TID number;
Device type;
User ID (if logged on);
Priority ;
Screen size;
Terminal status (ACTIVE, ERROR, etc.).
10:07:52 TID 11 DEV--631 User COK 28.06.05 --- Terminal Overview --- UCTD LU-Name TermID Device Type UserID Prty Lines Columns Status *** TOP OF DATA *** 1 ATTACHED COMTEST2 0 24 80 ACTIVE 2 ATTACHED COMTEST2 0 24 80 ACTIVE 3 ATTACHED COMTEST2 0 24 80 ACTIVE 4 ATTACHED COMTEST2 0 24 80 ACTIVE SYSOUT 5 BATCH 1 10 133 ACTIVE 6 ATTACHED COMTEST2 0 24 80 ACTIVE HTTPLIST 7 ATTACHED WEBLISTN 0 24 80 ACTIVE HTTPLIST 8 ATTACHED WLIS6055 0 24 80 ACTIVE HTTPLIST 9 ATTACHED WLIS6057 0 24 80 ACTIVE 10 ATTACHED TIMERM 0 24 80 ACTIVE TELNET 11 3270TN TCP/IP COK 1 32 80 ACTIVE TELNET 12 3270TN TCP/IP SKU 1 27 132 ACTIVE Co2HTTP2 14 ATTACHED TCP/IP COMTEST2 0 24 80 ACTIVE TELNET 15 3270TN TCP/IP SKU 1 27 132 ACTIVE HTTPERR 16 3288 L VTAM 1 0 0 ACTIVE ----------------------------------------------------------- Active Users: 00003 Select function: Terminal: PF7=up PF8=down Command: |
As in the case of the UA subfunction, you can restrict the display to specific terminals by entering their prefix. For example, entering "ABC" causes all terminals starting with "ABC" to be displayed. "**C" causes all terminals with a "C" as their third character to be displayed.
The TS subfunction displays detailed information about a specific terminal. Select a terminal by entering either its name or its TIB number in the Terminal ID field of the Terminal Status display. Information items on this display include:
The hex display of the TIB control block;
Current user ID;
Device type and access method;
VTAM session ID;
Status;
Important status flags.
10:48:53 TID 6 COM-5.1. User SAGAWW 30/08/94 --- Terminal Status --- UCT8 0000 00000000 10C00001 00000000 00001083 Tid number .... 6 0010 01002010 00001FFE D201091B 00000000 Tid name ...... DAESS17 0020 01200006 80058C00 C4C1C5E2 E2F1F740 Current user .. SAGAWW 0030 010001D7 728E833A 00501850 18C0000C Hardcopy Tid .. 0 0040 00000000 FF000100 00058E50 00010000 0050 20810000 00000000 00000000 00000000 Terminal type . 3270 L 0060 00000000 00000000 01000000 00000000 Access method . VTAM 0070 00000000 E0000000 00000000 00000000 Session ID .... 010001D7 0080 FFFFFFFF 00000000 17101218 07092418 0090 17101218 00000000 00000000 00000001 Status ........ ACTIVE ---------------------------------- Tib flags ---------------------------------- Input inhibited SNA device Chaining Bracket protocol ------------------------------------------------------------------------------- Select function: Terminal ID: 6 PF10=left PF11=right Command: |
In the case of VTAM terminals, an additional screen is available (press
. It displays:The hex display of the last RPL;
Sense data;
Trace information.
10:51:22 TID 6 COM-5.1. User SAGAWW 30/08/94 --- Terminal Status --- UCT9 ----------- RPL display ----------- Trace entries 0000 00000000 00000000 00000000 00000000 COMPL 0010 00000000 00000000 00000000 00000000 ENIN 0020 00000000 00000000 00000000 00000000 RDSYN 0030 00000000 00000000 00000000 00000000 RECEIVE 0040 00000000 00000000 00000000 00000000 COMPL 0050 00000000 00000000 00000000 00000000 COMPL 0060 00000000 00000000 00000000 COMPLDM WRITE SEND Sense Data: 0000 0000 RPLEX COMPL ENIN ------------------------------------------------------------------------------- Select function: Operand: 8 PF10=left PF11=right Command: |
Use PF10 and PF11 to switch between the two screens.
The TU subfunction displays information about the amount of threadstorage used by an application. An example is shown below:
09:59:55 TID 9 Dev--621 User COK 16.10.03 Thread utilization UCTI Group Subgroup Program Below: Size Region Size Used Max Above: Used Max *** TOP OF DATA *** SYSTEM $SYSTEM TLAMMAIN 497000 16 498000 16 0 0 16A3A000 27 27 SYSTEM $SYSTEM TLMSMESG 492000 16 493000 16 8 8 169F4000 1 1 SYSTEM $SYSTEM READCONS 48D000 16 48E000 16 0 0 169AE000 5 5 SYSTEM $SYSTEM TLOSOPER 0F7000 16 0F8000 16 0 0 15CC2000 1 1 SPECIAL SPECIAL1 UCTRL 0FC000 512 173000 40 0 0 15D08000 49 49 NATURAL NATURAL1 DEFAULT UTILITY1 PAENSTRT 2B4000 256 2B5000 256 0 0 1632C000 24 24 DEFAULT UTILITY1 PAENSTRT 273000 256 2AE000 24 0 0 16226000 42 42 DEFAULT UTILITY1 UTIMRM 232000 256 255000 120 44 44 16120000 1 1 DEFAULT UTILITY1 USTACK 1F1000 256 231000 4 0 0 1601A000 18 26 DEFAULT UTILITY1 USTACK 1B0000 256 1F0000 4 0 0 15F14000 18 29 DEFAULT UTILITY2 DEFAULT UTILITY2 DEFAULT UTILITY2 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00002 Select Function: Operand: PF7=up PF8=down Command: |
Meaning of the information items according to column heading:
Heading | Meaning |
---|---|
Group | Threadgroup as defined in the sysparms |
Subgroup | Thread subgroup as defined in the sysparms |
Program | Program Initially loaded application |
Below | Start address of threadarea below |
Size | Threadsize below as defined in the sysparms |
Region | Start of threadarea below avaliable for application usage |
Size | Region size defined for the application in ULIB |
Used | Currently used amount of application thread storage below (in K bytes) |
Max | Maximum used amount of application thread storage below (in K bytes) |
Above | Start address of threadarea above |
Used | Currently used amount of application thread storage above (in K bytes) |
Max | Maximum used amount of application thread storage above (in K bytes) |
The UA subfunction displays activity information about user IDs currently logged on to Com-plete.
The first of the three screens, shown below, shows miscellaneous information, such as:
LU-name (the name of the TIB onto which the user is logged);
TID number;
Authorization code and account number;
Logon date and time;
Time of the last transaction .
10:11:02 TID 11 DEV--631 User COK 28.06.05 --- User Activities --- UCT6 User Id. LU-name. TermId Auth. Account No.. Logon Date Time on. Last tx.*** TOP OF DATA *** COMTEST2 ATTACHED 1 0 24.06.2005 07:04:05 07:04:06 COMTEST2 ATTACHED 2 0 OPER TASK 24.06.2005 07:04:06 07:04:06 COMTEST2 ATTACHED 3 0 TAM TASK 24.06.2005 07:04:33 10:11:03 COMTEST2 ATTACHED 4 0 SPOOL TASK 24.06.2005 07:04:34 07:04:34 COMTEST2 ATTACHED 6 0 CONSOLE TASK 24.06.2005 07:04:35 07:04:35 WEBLISTN ATTACHED 7 0 24.06.2005 07:04:36 20:16:05 WLIS6055 ATTACHED 8 0 24.06.2005 07:04:37 07:04:37 WLIS6057 ATTACHED 9 0 24.06.2005 07:04:38 07:04:38 TIMERM ATTACHED 10 0 24.06.2005 07:04:38 10:11:00 COK TELNET 11 0 COM-PLETE 28.06.2005 08:31:09 10:11:03 SKU TELNET 12 0 COM-PLETE 24.06.2005 16:38:49 18:05:15 COMTEST2 ATTACHED 14 0 27.06.2005 15:03:46 20:17:36 SKU TELNET 15 0 COM-PLETE 25.06.2005 12:29:36 12:31:03 COMTEST2 ATTACHED 17 0 27.06.2005 10:34:58 19:34:33 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select function: User ID: PF7=up PF8=down PF10=left PF11=right Command: |
Press
to display the second information screen. This gives additional information about the user ID's activities, such as:Current program;
Total elapsed time spent in thread (seconds);
CPU time used (seconds);
Total number of transactions (times in thread);
Total number of EXCPs;
Amount of data sent to and received from terminal;
Amount of data sent via message switching/printout spooling.
10:12:07 TID 11 DEV--631 User COK 28.06.05 --- User Activities --- UCT7 UserID Thrd Program Thrd time CPU time Trans EXCPs Term data Spl data *** TOP OF DATA *** COMTEST2 0 PAENSTRT .448 .00 1 0 0 0 COMTEST2 0 TLOSOPER .084 .00 1 0 0 0 COMTEST2 0 TLAMMAIN 2937.883 1.52 7034 0 0 0 COMTEST2 0 TLMSMESG .000 .00 1 0 0 0 COMTEST2 0 READCONS .000 .00 1 0 0 0 WEBLISTN 0 PAENSTRT 1.247 .04 117 0 0 0 WLIS6055 0 PAENSTRT .018 .00 1 0 0 0 WLIS6057 0 PAENSTRT .023 .00 1 0 0 0 TIMERM 0 UTIMRM 135.263 .41 5956 18 0 0 COK 0 UCTRL .987 .03 188 5 129674 0 SKU 0 UQ 2.928 .76 5136 207 935506 0 COMTEST2 0 PAENSTRT 3.797 .50 139 59 0 0 SKU 0 UQ .722 .13 512 33 91315 0 COMTEST2 0 PAENSTRT 15.650 .69 149 281 0 0 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select function: User ID: PF7=up PF8=down PF10=left PF11=right Command: |
Press
to display the third information screen. This shows user activities regarding Adabas, such as:Number of transactions;
Average response time;
Com-plete monitor calls;
Average number of monitor calls per transaction;
Total number of Adabas calls;
Average Adabas calls per transaction;
Average Adabas elapsed time per transaction.
10:14:25 TID 11 DEV--631 User COK 28.06.05 --- User Activities --- UCT0 UserID Enters Avg RT Comp OPs (Avg) ADAcalls (Avg) Avg time *** TOP OF DATA *** COMTEST2 0 0.00 3 0.0 0 0.00 0.000 COMTEST2 0 0.00 0 0.0 0 0.00 0.000 COMTEST2 0 0.00 1 0.0 0 0.00 0.000 COMTEST2 0 0.00 0 0.0 0 0.00 0.000 COMTEST2 0 0.00 0 0.0 0 0.00 0.000 WEBLISTN 0 0.00 7 0.0 0 0.00 0.000 WLIS6055 0 0.00 7 0.0 0 0.00 0.000 WLIS6057 0 0.00 7 0.0 0 0.00 0.000 TIMERM 0 0.00 11920 0.0 0 0.00 0.000 COK 53 0.01 320 6.0 0 0.00 0.000 SKU 278 0.01 6752 24.2 0 0.00 0.000 COMTEST2 0 0.00 36135 0.0 996 332.00 0.000 SKU 27 0.02 802 29.7 0 0.00 0.000 COMTEST2 0 0.00 8627 0.0 355 355.00 0.022 *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select function: User ID: PF7=up PF8=down PF10=left PF11=right Command: |
Use
and to switch between the three screens.The UserID input field is handled in the following way:
If data is entered with one or more non-numeric bytes, the data is treated as a user ID prefix. You can use the asterisk (*) as placeholder for any character
If a number within the range if TID numbers is entered, the number is taken as TID number. If the number entered falls outside the TID number range, it is taken as a user ID prefix.
To force any data to be taken as user ID prefix, precede the data with "U=".
The US subfunction displays status information about user IDs currently logged on to Com-plete.
This function will display a list of users IDs and the current status of the programs they are running. As an operand, you can specify a user ID, or the first characters to be matched by userIDs. You can use asterisk "*" as a wildcard. If no operand is provided, a list of all users currently logged on will be displayed. The following display is a sample of what will be displayed.
10:18:34 TID 11 DEV--631 User COK 28.06.05 User Program Status UCTI UserID TID Program Thrd Grp Task Grp Last OP Status *** TOP OF DATA *** COMTEST2 1 PAENSTRT DEFAULT DEFAULT Abexit rolled out COMTEST2 2 TLOSOPER SYSTEM SYSTEM none ready for rollout COMTEST2 3 TLAMMAIN SYSTEM SYSTEM Abexit subtask WAIT COMTEST2 4 TLMSMESG SYSTEM SYSTEM none subtask WAIT COMTEST2 6 READCONS SYSTEM SYSTEM none subtask WAIT WEBLISTN 7 PAENSTRT DEFAULT DEFAULT Getmain ready for rollout WLIS6055 8 PAENSTRT DEFAULT DEFAULT Getmain rolled out WLIS6057 9 PAENSTRT DEFAULT DEFAULT Getmain rolled out TIMERM 10 UTIMRM DEFAULT DEFAULT Rolout ready for rollout COK 11 UCTRL SPECIAL SPECIAL Readm running SKU 12 UQ DEFAULT DEFAULT Wrtm rolled out COMTEST2 14 PAENSTRT DEFAULT DEFAULT Coload ready for rollout SKU 15 UQ DEFAULT DEFAULT Wrtm rolled out COMTEST2 17 PAENSTRT DEFAULT DEFAULT Codel rolled out *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00003 Select Function: Operand: PF7=up PF8=down Command: |
Along with userID, terminal ID (TID), the name of the current program, the thread group and task group this program is running in, the current status of this program is indicated.
This status can be one of the following:
- no program active
This is a non-Compass user which is not running any program at the moment.
- running
This program is currently being executed by one of the subtasks.
- subtask WAIT
This program is occupying a thread and a subtask, and is waiting for some event to occur.
Example: WAIT for an ENQ
- program WAIT
This program is occupying a thread, but is waiting for some event to occur. The subtask which serviced the program before the WAIT is available to service other threads while this one is waiting.
Examples: I/O, WAIT for a Complete internal resource
- ready to be rolled out
This program is in a state where it has issued a terminal write or ROLOUT, and can be rolled out of the thread when some other program needs one.
- rolled out
This program is in a state where it has issued a terminal write or ROLOUT, and it has been rolled out to a roll buffer to allow some other program to run in the thread in the meantime.
- queued: <queue name>
The program is on one of Complete's internal queues, indicated by the name of this queue. Refer to subfunction QO for an overview of the different queues. Most likely, the program is waiting for a certain subtask or for any subtask out of a task group to become available. If this state seems to last too long, use subfunction PL to find out who is occupying the subtask(s).
- thread SG queue <subgroup name>
The program is waiting for any thread in the thread sub-group, indicated by the sub-group name, to become available. The program can run in any of the threads in this sub-group, but all of them are occupied. If this state seems to last too long, use subfunction TL to find out who is occupying all the threads in the sub-group.
- thread queue in <subgroup name>
The program is waiting for a certain thread in the thread sub-group, indicated by the sub-group name, to become available. The program has been rolled out of this thread before, and needs to be rolled back into the same thread again, however, the thread is currently occupied by some other program. If this state seems to last too long, use subfunction TL to find out who is occupying the thread.
- eoj in progress
This program has terminated, and Complete is cleaning up the thread behind it.
- being dispatched
Sometimes, when switching from one of the above states to another, it can happen that the program has left the previous state, but is not in the next state yet.
Note:
For internal serialization reasons, it is not possible to terminate a program while it is on any of the queues. None of the operator commands IGNORE, CANCEL, LOGOFF, or FORCE will work in this situation. Instead, you should find out who is using the resource (thread or subtask) where a queue is building up, and ask him/her to free it (or CANCEL him/her if necessary).
The VS subfunction displays statistics about user VSAM files currently open, and about the local shared resource (LSR) pool if one is being used.
Irrespective of the number of ACBs in application programs referring to a given DD / DLBL name, Com-plete opens a single ACB for each DD / DLBL name and passes all requests through it. Statistics displayed about each ACB relate to the period of time since the ACB has been opened.
15:15:37 TID 13 COM-5.1. User MBE 12.04.97 --- VSAM statistics --- UCTO DDname STRN MAX noSTR Requests Avg.Time Users (max) OPEN Time LostRPLs *** TOP OF DATA *** SKUVSAM ---LSR--- 0 5 .079 1 1 12.04.15:12 0 TESTVSAM 0 0 0 0 0 1 12.04.15:14 0 ------------------------------------------------------------------------------- LSR-POOL 16 1 0 22 READs required 2 CI-s found in buffer *** BOTTOM OF DATA *** ------------------------------------ Active Users: 00004 Select function: Operand: PF7=top PF8=down Command: |
If at least one of the ACBs currently open uses local shared resources, the last line on the screen containes statistics about the local shared resource pool.
Meaning of the information items according to column heading:
Heading | Meaning |
---|---|
DDname | The DD (z/OS) or DLBL (z/VSE) name. |
STRN | The value specified for the ACB parameter STRNO. |
MAX | The maximum number of requests concurrently active at any one time. (In z/VSE systems, available for the LSR pool only.) |
noSTR | The number of requests that failed due to a "maximum number of strings exceeded" condition. |
Requests | The number of requests issued by application programs. |
Avg.Time | The average response time, in seconds, for a request. |
Users | The number of user ACBs currently open in application programs. |
(max) | The maximum number of user ACBs open at any one time. |
OPEN Time | Date and time when the ACB was opened. |
LostRPLs | The number of request parameter lists (RPLs) pointing to this ACB and related to a request that could not be completed due to an abnormal termination.The most appropriate reason for a non-zero number in this field is application programs cancelled while waiting for completion of a VSAM I/O request. Uncompleted requests may result in other requests failing due to locked resources. This situation may be cleaned up by explicitly closing the "main" ACB using UUTIL subfunction FM (file maintenance) described in this section. |