The following message was received:
TSS0962E MAXUSER EXCEEDED - XREF TABLE FULL - F (facility) J (jobname)
(The message could also be TSS0962W MAXUSER EXCEEDED - XREF TABLE FULL - F (facility) J (jobname).)
1) What is the XREF table?
2) What does it mean to increase it and how do you calculate the new size?
3) Is it required to recycle Top Secret or a is a TSS REFRESH command enough?
4) Is the XREF table allocated in the Top Secret region or in the STC specified in the message (J(jobname))?
1) At the startup of a multi user address space, the MAXUSER XREF table is built to hold the user id and key. The size of the table is 12 bytes times the MAXUSER value, plus 16 bytes for the table header. There is one 12 byte entry for each user that signs on. The table is built in private storage above the line. When a user signs off, the entry in the XREF table is cleared and can be re-used by another user.
When the TSS0962E/TSS0962W message is issued, new users are still allowed to sign on, but there no entry is added to the XREF table for those users, so if the region abends, the storage for the user(s) is not freed. This could lead to orphaned storage.
2) The default MAXUSER value is 3000 because most multi user address spaces at a majority of client sites have 3000 or fewer users on at any one time. The control option can be changed if you are sure you have enough private storage available above the line to set MAXUSER with an higher value. You can dynamically increase the MAXUSER value, for example, to 5000, via:
TSS MODIFY FAC(fac=MAXUSER=5000)
The TSS MODIFY command is only valid until the next recycle of Top Secret. To make the change permanent, add the corresponding FAC statement after the FAC(USERnn=NAME=fac):
The only impact of increasing the MAXUSER value is the amount of private storage used above the line for the larger XREF table. The next time the region is started, the XREF table will be bigger (by 12 bytes * the difference between the old MAXUSER value and the new MAXUSER value) in storage in the started task address space, but this will not degrade performance.
3) Top Secret does NOT have to be recycled, however, you have to recycle the started task address space in order to pick up the new MAXUSER value because the XREF table is built at startup.
4) The XREF table is allocated in the started task specified in the TSS0962E/TSS0962W message (J (jobname) ).