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).)
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 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.
The XREF table is allocated in the started task specified in the TSS0962E/TSS0962W message (J (jobname) ).
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 the LPAR has enough private storage available above the line to set MAXUSER with an higher value. The MAXUSER value can be dynamically increased, 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, the following statement should be added to the corresponding Facility:
FAC(fac=MAXUSER=5000)
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.
Top Secret does NOT have to be recycled, however, the started task needs to be recycled in order to pick up the new MAXUSER value because the XREF table is built at startup.