Previous | Contents | Index |
Parameter and quota values needed to run the ACMS software are set by default or by the use of the ACMSPARAM.COM and ACMEXCPAR.COM command procedures. In some instances, you may want to further tune your system by altering those calculations.
The formulas in this appendix show how these recommended minimum settings are derived, and how to alter these calculations to reflect your specific system. The values shown in this appendix are guidelines.
If you change the calculations for any parameter, edit the ACMVARINI.DAT file to change the appropriate variable value corresponding to that parameter. The command procedure uses the changed variable value to calculate not only the parameter that you wish to recalculate, but any related parameters or quotas. Note, however, that ACMSPARAM.COM raises but does not lower a process quota or SYSGEN parameter based on your recalculations. The command procedure will raise or lower any other parameters as indicated by your recalculations.
ACMSPARAM.COM and ACMEXCPAR.COM do not support logical name search lists for the TDB file specifications. |
The parameter and quota calculations described in this appendix are:
The following sections contain the formula calculations used by ACMSPARAM.COM.
The formulas for SYSGEN parameters and for quotas needed for OpenVMS
user names, ADU, and the task debugger use the variables discussed in
Chapter 10. Refer to Table 10_3 and Table 10-5 for
descriptions of the variables. See Chapter 11 for descriptions of
the ACMSGEN parameters whose formula calculations are listed here.
A.1 Calculating OpenVMS SYSGEN Parameters Affected by ACMS
ACMSPARAM.COM calculates values for OpenVMS system parameters that are
affected by ACMS. The following subsections show how ACMSPARAM.COM
determines the values for those OpenVMS SYSGEN parameters. Any time you
install additional images you must adjust the SYSGEN parameters. Refer
to Table 10-3 for descriptions of the variables shown in these
calculations.
A.1.1 Calculating the Value of CHANNELCNT
CHANNELCNT = (MAX 20 + ((2 * CONTROLLED_TERMINAL_CNT) + ENTERED_TERMINAL_CNT), 20 + (2 * REMOTE_SUB_CNT) + TDB_CNT + RLB_CNT, 23 + (5 * TERMINALS_PER_CP) + FORM_TRACE_FILE_CNT + + FORM_CNT + ESC_RTN_IMAGE_CNT + REMOTE_RLB_CNT + (2 * REMOTE_APPL_CNT) ) Include 20% for expansion, and then round to next 10: CHANNELCNT = (((CHANNELCNT + CHANNELCNT / 5) / 10) + 1) * 10 |
GBLPAGES = BASE + ! GBLPAGES value without ACMS 1506 MSS_POOLSIZE + (DEBUGGER_CNT * (TWS_POOLSIZE+TWSC_POOLSIZE)) + DEBUG_TDB_BLKS + (TDB_CNT * (TWS_POOLSIZE+TWSC_POOLSIZE)) + TDB_BLKS + ADB_BLKS + MDB_BLKS Include 20% for expansion, and then round to next 100 pages (VAX) or 100 pagelets (Alpha): GBLPAGES = (((GBLPAGES + GBLPAGES/5) / 100 ) + 1) * 100 |
GBLPAGFIL = BASE + ! GBLPAGFIL value without ACMS 4 + MSS_POOLSIZE + (DEBUGGER_CNT * (TWS_POOLSIZE+TWSC_POOLSIZE)) + (TDB_CNT * (TWS_POOLSIZE+TWSC_POOLSIZE) ) Include 20% for expansion, and then round to next 100 pages (VAX) or 100 pagelets (Alpha): GBLPAGFIL = (((GBLPAGFIL + GBLPAGFIL/5) / 100 ) + 1) * 100 |
On Alpha, the GBLPAGFILE must be converted from pagelets to physical pages as follows:
GBLPAGFIL = (GBLPAGFIL + (PAGESIZE/512) - 1) / (PAGESIZE/512) |
GBLSECTIONS = BASE + ! GBLSECTIONS value without ACMS 44 + (DEBUGGER_CNT * 3) + (TDB_CNT * 3) + APPL_CNT + REMOTE_APPL_CNT + MDB_CNT Include 20% for expansion, and then round to next 10 sections: GBLSECTIONS = (((GBLSECTIONS + GBLSECTIONS/5) / 10 ) + 1) * 10 |
LOCKIDTBL = BASE + ! LOCKIDTBL value without ACMS 100 + (CP_PROC_CNT * 4) + (RLB_CNT * 4) + (DYN_SP_CNT * 4) + (QTI_QUEUES * 3) + (QTI_TASK_THDS * 15) Include 20% for expansion, and then round to next 10 table entries: LOCKIDTBL = (((LOCKIDTBL + LOCKIDTBL/5) / 10 ) + 1) * 10 VIRTUALPAGECNT = (((PGFLQUOTA + ! Use the highest PGFLQUOTA PGFLQUOTA/5) / 10) +1) * 10 ! from among CP, ACC, TSC, ! QTI, or EXC PGFLQUOTAs |
The following SYSGEN parameters should be set when you use the task debugger:
Parameter | Value |
---|---|
PQL_DASTLM | 20 |
PQL_DDIOLM | 20 |
PQL_DBIOLM | 12 |
PQL_DWSQUOTA | Greater than or equal to the block size of the largest .TDB file |
PQL_DWSEXTENT | Greater than or equal to the block size of the largest .TDB file |
PQL_MDIOLM | 20 |
The following sections show how quotas are set for the various user names under which ACMS components run. Compaq recommends you use the ACMSPARAM.COM procedure to set the quota values for the ACC, TSC, CP, and QTI. Use the formulas shown here for informational or fine-tuning purposes only.
The user name quotas for the ACC, TSC, CP, and QTI are defined from the values set by the ACMSPARAM.COM procedure. (The user names can also be derived from the values set by the ACMSGEN Utility.) The user names for the EXC and the server processes, discussed later in this chapter, are derived from the application definition using the ACMEXCPAR.COM procedure.
When updating the accounts for ACC, TSC, CP, EXC, and QTI, a quota is updated only if the calculated quota is larger than the current quota for the account. This is to prevent the possible introduction of quota problems should the account be used for purposes other than running ACMS. ACMSPARAM.COM and ACMEXCPAR.COM do not allow calculated quotas to be lower than Compaq suggested default values. The default values used are from OpenVMS VAX Version 6.0 and OpenVMS Alpha Version 1.5. For several quotas ACMSPARAM.COM and ACMEXCPAR.COM do not create values. Instead, ACMS takes the quota values from the DEFAULT account in AUTHORIZE. If you lower any DEFAULT account quotas, be aware that problems can occur while starting or running ACMS.
By assigning different user names to the ACC, TSC, CP, and QTI, you can individually set quotas to ensure the best allocation of resources. You can, however, run the ACC, TSC, CP, and QTI under one user name. If you do this, it is best to maximize the values for all ACC, TSC, CP, and QTI quotas. You normally run the EXC under a user name different from that of the ACC, TSC, CP, and QTI. Run the server processes under additional user names as required.
ACMSPARAM.COM and ACMEXCPAR.COM calculate quotas for the platform they are executing on. If you are using a common SYSUAF.DAT file for a mixed OpenVMS Cluster, then the quotas generated for Alpha will probably not be appropriate for VAX and the quotas generated on VAX will probably not be appropriate for Alpha. See A Comparison of System Management on OpenVMS AXP and OpenVMS VAX for more information. |
The OpenVMS user name under which the ACC runs requires the privilege SETPRV.
The values shown in Table A-1 determine the minimum quotas necessary for the OpenVMS user name under which the ACC runs. To set this user name, use the ACC_USERNAME parameter with the ACMSPARAM.COM procedure or the ACMSGEN Utility.
If large number of users are signed in by user-written agents or by the QTI, you may need to fine-tune the working set. See Section A.5.1 for details.
Minimum Value | ||
---|---|---|
Parameter | VAX | Alpha |
ASTLM | 40 | 250 |
BIOLM | 40 | 150 |
BYTLM | 32768 | 64000 |
DIOLM | 40 | 150 |
ENQLM | 200 | 2000 |
FILLM | 100 | 100 |
PGFLQUOTA | 32768 | 50000 |
TQELM | 10 | 10 |
WSDEFAULT | 256 | 2000 |
WSEXTENT | 4096 | 16384 |
WSQUOTA | 1024 | 4000 |
WSEXTENT is usually higher than WSQUOTA to make the most of the OpenVMS dynamic working set size adjustment algorithms. To set reasonable figures, monitor the live system to determine the page fault rate of the ACC process.
Also, because the Audit Trail Logger process runs under the user name of the ACC, that user name must have write access to the audit trail log file.
If you have a large number of users signing in by user-written agents
or the QTI, you may need to increase the working set quotas. See
Section A.5.1.
A.2.1.1 How ACMSPARAM.COM Calculates Values for the ACC
This section shows the formulas for how ACMSPARAM.COM calculates parameter values for the ACC. If the calculated values are below the minimum values shown in Table A-1, then ACMSPARAM.COM assigns the minimum values.
Refer to Table 10-3 for descriptions of the variables shown in these calculations.
ASTLM = 28 + ! base (4 * remote_node_cnt) + ! DECnet channel i/o remote_sub_cnt + ! for remote authentication terminal_cnt + ! for local authentication remote_appl_cnt + ! operator_cnt + ! agent_sub_cnt + ! qti_submitters ! for ACMS operator commands |
BIOLM = 20 + ! base (4 * REMOTE_NODE_CNT) ! MSS DECnet send/receive QIOs |
BYTLM = 20000 + ! base (4 * REMOTE_NODE_CNT) * MSS_MAXBUF ! MSS DECnet i/o |
ENQLM = 100 + ! base agent_sub_cnt + ! remote_sub_cnt + ! for remote authentication terminal_cnt + ! for local authentication qti_submitters ! |
FILLM = 20 + ! base MDB_CNT + ! MDBs APPL_CNT + ! local ADBs REMOTE_APPL_CNT + ! remote ADBs (2 * REMOTE_NODE_CNT) ! DECnet channels |
PGFLQUOTA = 4096 + ! base MSS_PROCESS_POOL + ! MSS pool (MSS_MAXBUF + (154 * (APPL_CNT + REMOTE_APPL_CNT)) + (((2 * REMOTE_NODE_CNT / 8) + 1) * 8 * MSS_MAXBUF) + 512) / 512 |
The OpenVMS user name under which the TSC runs, defined by the ACMSGEN parameter TSC_USERNAME, must have the privilege SETPRV.
The minimum quotas shown in Table A-2 are necessary for the OpenVMS user name under which the TSC runs.
Minimum Value | ||
---|---|---|
Parameter | VAX | Alpha |
ASTLM | 40 | 250 |
BIOLM | 40 | 150 |
BYTLM | 32768 | 64000 |
DIOLM | 40 | 150 |
ENQLM | 200 | 2000 |
FILLM | 100 | 100 |
PGFLQUOTA | 32768 | 50000 |
TQELM | --- | --- |
WSDEFAULT | 256 | 2000 |
WSEXTENT | 4096 | 16384 |
WSQUOTA | 1024 | 4000 |
WSEXTENT is usually higher than WSQUOTA to make the most of the OpenVMS
dynamic working set size adjustment algorithms. To set reasonable
figures, monitor the live system to determine the page fault rate of
the TSC process.
A.2.2.1 How ACMSPARAM.COM Calculates Values for the TSC
This section shows the formulas for how ACMSPARAM.COM calculates parameter values for the TSC. If the calculated values are below the minimum values shown in Table A-2, then ACMSPARAM.COM assigns the minimum values.
Refer to Table 10-3 for descriptions of the variables shown in these calculations.
ASTLM = 24 + ! base (terminal_cnt * 2) |
BIOLM = 20 + TERMINAL_CNT ! base |
BYTLM = 4096 + ! base (1000 * TERMINAL_CNT) |
FILLM = 20 + ! base TERMINAL_CNT ! 1 channel for each terminal |
PGFLQUOTA = 2048 + ! base (100 * TERMINAL_CNT) + ! for each TT overhead MSS_PROCESS_POOL ! MSS pool |
TQELM = CP_PROC_CNT + ENTERED_TERMINAL_CNT |
The OpenVMS user name under which the CP runs must have the SETPRV privilege.
The OpenVMS user name under which the CP runs requires the minimum quotas shown in Table A-3. The CP user name is controlled by the ACMSGEN parameter CP_USERNAME. The number of terminals per CP is controlled by the ACMSGEN parameter TERMINALS_PER_CP.
Minimum Value | ||
---|---|---|
Parameter | VAX | Alpha |
ASTLM | 40 | 250 |
BIOLM | 40 | 150 |
BYTLM | 32768 | 64000 |
DIOLM | 40 | 150 |
ENQLM | 200 | 2000 |
FILLM | 100 | 100 |
PGFLQUOTA | 32768 | 50000 |
TQELM | --- | --- |
WSDEFAULT | --- | --- |
WSEXTENT | --- | --- |
WSQUOTA | --- | --- |
WSEXTENT is usually higher than WSQUOTA to make the most of the OpenVMS dynamic working set size adjustment algorithms. To set reasonable figures, monitor the live system to determine the page fault rate of the CP process.
Remember, you must authorize the user name of the CP as an agent in the
User Definition Utility (UDU) authorization file ACMSUDF.DAT. (See
Chapter 3 and Chapter 18 for information about agent
authorizations using UDU.)
A.2.3.1 How ACMSPARAM.COM Calculates Values for the CP
This section shows the formulas for how ACMSPARAM.COM calculates parameter values for the CP. If the calculated values are below the minimum values shown in Table A-3, then ACMSPARAM.COM assigns the minimum values.
Refer to Table 10-3 for descriptions of the variables shown in these calculations.
WSDEFAULT = 512 + (10*TERMINALS_PER_CP) ! Working set WSEXTENT = 4096 + (50*TERMINALS_PER_CP) ! sizes for WSQUOTA = 1024 + (50*TERMINALS_PER_CP) ! CP user name |
WSDEFAULT = 2000 + (10*TERMINALS_PER_CP) ! Working set WSEXTENT = 16384 + (50*TERMINALS_PER_CP) ! sizes for WSQUOTA = 4000 + (50*TERMINALS_PER_CP) ! CP user name |
ASTLM = 17 + ! base (9 * TERMINALS_PER_CP) + ! DECnet sends (2 * REMOTE_APPL_CNT) ! for DECnet receives |
BIOLM = 28 + ! base (TERMINALS_PER_CP * 2) + ! TDMS i/o or MSS DECnet link i/o (2 * REMOTE_APPL_CNT) ! for MSS DECnet link receives |
BYTLM = 18000 + ! base (2000 * TERMINALS_PER_CP) + ! TDMS i/o (((2 * REMOTE_APPL_CNT) + ! MSS sends TERMINALS_PER_CP) * MSS_MAXBUF) |
DIOLM = 20 + (2 * TERMINALS_PER_CP) |
ENQLM = 52 + (4 * TERMINALS_PER_CP) |
FILLM = 32 + ! base + 3 shareable DECforms images (3 * TERMINALS_PER_CP) + ! cp opens 3 channels to each (2 * REMOTE_APPL_CNT) + ! terminal. DECnet link channels REMOTE_RLB_CNT + ! for remote rlbs FORM_CNT + ESC_RTN_IMAGE_CNT ! for DECforms form files |
PGFLQUOTA = 16384 + ! Base MSS_PROCESS_POOL + ! MSS process pool ( 2 * MDB_BLK ) + ! Menu information FORM_BLKS + ! Form files REMOTE_RLB_BLKS + ! Remote TDMS .RLBs ( TERMINALS_PER_CP * 500 ) + ! Per-user overhead TERMINALS_PER_CP * ! For each user: ( ( ( LARGEST_MESSAGE + 512 ) * 2 ) + ! Msg marshaling ( LARGEST_MESSAGE * FORM_CNT ) + ! DECform's data LARGEST_MESSAGE ) / 512 ! TDMS data |
The current formula for calculating the PGFLQUOTA value of the CP account is liberal. The formula assumes that each exchange step involves the sending or receiving of the largest message (see the description of the LARGEST_MESSAGE variable in Table 10-3). After executing ACMSPARAM.COM, review the value of CP_PGFLQUOTA. If this value appears to be excessively large, then replace the LARGEST_MESSAGE variable with the average size of workspaces used in exchange steps, or with the size of the workspace most often used in exchange steps. The formula for calculating the CP_PGFLQUOTA provides only a rough approximation of this quota. To fine-tune your system, calculate the quota for your particular system. |
TQELM = 8 + TERMINALS_PER_CP |
Previous | Next | Contents | Index |