SGNEXEC.CMD;2=SGNEXEC.VMD;2 \ -/Version/,, .; KMS Mod -/.589:/,, .; THE KMS ACCOUNTING AND MCR ENHANCEMENTS .; .IFF $MUP .SETF $RNPRV .IFF $MUP .SETF $KMSCO .IFF $MUP .GOTO KMSQ2B .IFT $SAVED .IFDF $KMSAC .IFF REPEAT .GOTO KMSQ1 .ASK $KMSAC 12A.'$SF1' Do you want an explanation of the KMS Enhancenments .IFF $KMSAC .GOTO KMSQ1 ; ; The KMS enhancement package offers a large number of options for a ; multiuser system. In general once a system generation is done, the ; enhancements can be included piecemeal (see the implementation notes). ; Included with this package is a versitile Accounting Package for the ; RSX11M community, including user by user, terminal time, CPU time, ; global statistics, etc. type accounting as well as limited task ; accounting (primarily a performance measurement tool). In addition, ; performance tuning hooks are placed in the executive with which the ; user can improve system performance and cut down thrashing. ; ; If you wish to incorporate these features, you must make several ; modifications to standard DEC distribution files. The command files ; (SGNEXEC, SGNTT, SGNBLDBLD and SGNPER) are assumed to be modifed (adds ; accounting base to driver data bases). In addition the EXEC source ; files ; ; DREIF.MAC ; HTTAB.MAC (DecNet Only) ; SYSCM.MAC ; SYSXT.MAC ; TDSCH.MAC ; ; must be modified. These changes will in NO WAY harm the operation of a ; normal RSX11M system or bring on flaky crashes. HOWEVER, they must be ; made, for the accounting/performance enhancements to be included. ; Critical changes are all conditionalized so that they will not ; assemble unless they are selected. ; ; Answering Yes to the next question, enables the following questions and ; allows assembly of Run Privlege allocation modifications to INStall. ; .KMSQ1: .IFT $SAVED .IFDF $RNPRV .IFF REPEAT .GOTO KMSQ2 .ASK $RNPRV 11B.'$SF1' Include the KMS system enhancements .IFF $KMSAC .GOTO KMSQ2 ; ; If you desire to include SYSTEM ACCOUNTING, you must select ; the CO: driver. Only the CO: driver data base is used. ; .IF CO EQ 0 ; The CO: driver is not present in this system, System .IF CO EQ 0 ; Accounting may not be selected. .IF CO EQ 0 .SETF $KMSCO .IF CO GT 0 ; The CO: driver has been incluced. ; .KMSQ2:.IFT $SAVED .IFDF $KMSCO .IFF REPEAT .GOTO KMSQ2A .IFT $RNPRV .ASK $KMSCO 11C.'$SF1' Have you included the CO: driver. .KMSQ2A: .IFF $KMSCO ; The CO: data base is absolutely required for including SYSTEM .IFF $KMSCO ; ACCOUNTING. SYSTEM ACCOUNTING questions will not be asked, but .IFF $KMSCO ; HELLO/BYE can still keep a running tally of terminal logon time. .IFF $KMSCO ; .KMSQ2B:.IFF $KMSCO .SETF $CPUTM .IFF $KMSCO .GOTO KMSQ4 .IFF $KMSAC .GOTO KMSQ3 ; ; If you want CPU time or system accounting(SYSLOG) the various data ; bases in the EXEC must be assembled. ; .KMSQ3: .IFT $SAVED .IFDF $CPUTM .IFF REPEAT .GOTO KMSQ4 .IFT $RNPRV .ASK $CPUTM 11D.'$SF1' Include CPU time and system accounting data base changes .IFF $KMSAC .GOTO KMSQ4 ; ; In addition to CPU time, you can log QIO usage. ; .KMSQ4: .IFT $CPUTM .GOTO KMSQ4A .SETF $QCNT .SETF $SACC .SETF $MACC .SETF $TKACC .GOTO KMSSAV .KMSQ4A:.IFT $SAVED .IFDF $QCNT .IFF REPEAT .GOTO KMSQ5 .IFT $CPUTM .ASK $QCNT 11E.'$SF1' QIO accounting (system wide and user by user) .IFF $KMSAC .GOTO KMSQ5 ; ; You can collect statistics on LDR, CHECKPOINTS, and SHUFFLER activity. ; .KMSQ5:.IFT $SAVED .IFDF $SACC .IFF REPEAT .GOTO KMSQ6 .IFT $CPUTM .ASK $SACC 11F.'$SF1' Gather system wide accounting statistics .IFF $KMSAC .GOTO KMSQ6 ; ; You can keep track of total memory useage both in and out of core. ; .KMSQ6:.IFT $SAVED .IFDF $MACC .IFF REPEAT .GOTO KMSQ7 .IFT $CPUTM .ASK $MACC 11G.'$SF1' Monitor memory utilization .IFF $KMSAC .GOTO KMSQ7 ; ; Selective task accounting is designed to be a performance measurement ; tool. Using it one can keep track of users, the run time, the CPU ; time, and the QIO"s issued for any task or group of tasks. ; .KMSQ7:.IFT $SAVED .IFDF $TKACC .IFF REPEAT .GOTO KMSSAV .IFT $CPUTM .IFT $QCNT .ASK $TKACC 11H.'$SF1' Selective task accounting (measurement tool). .KMSSAV: .IFT $SAVE .DATA ; KMSKIT RELEASE 4.1 BL33 XA .IFT $SAVE .DATA .SET'$KMSAC' $KMSAC .IFT $SAVE .DATA .SET'$RNPRV' $RNPRV .IFT $SAVE .DATA .SET'$CPUTM' $CPUTM .IFT $SAVE .DATA .SET'$QCNT' $QCNT .IFT $SAVE .DATA .SET'$SACC' $SACC .IFT $SAVE .DATA .SET'$MACC' $MACC .IFT $SAVE .DATA .SET'$TKACC' $TKACC .IFT $SAVE .DATA .SET'$KMSCO' $KMSCO .IFT $SAVE .DATA ; KMSKIT RELEASE 4.1 BL33 XA .NOKMS: .; -/.725:/,, .; IF ALL USER-WRITTEN DRIVERS LOADABLE .; .IFF $UWD .SETF $ALOAD .IFF $UWD .GOTO 725A .IFT $SAVED .IFDF $ALOAD .IFF REPEAT .GOTO 725A .IFT $UWD .ASK $ALOAD 25A.'$SF1' Are all user-written drivers to be loadable .725A:.IFT $SAVE .DATA .SET'$ALOAD' $ALOAD .; -/V$$RSN/,, .IFT $RNPRV .DATA #1 ; KMSKIT RELEASE V4.1 BL32 XA .IFT $RNPRV .DATA #1 R$$PRV=0 ; KMS FUSION ACCOUNTING ENHANCEMENTS .IFT $CPUTM .DATA #1 T$$CPU=0 ; ACCOUNT FOR CPU TIME .IFT $QCNT .DATA #1 Q$$CNT=0 ; ACCOUNT FOR QIOs .IFT $SACC .DATA #1 S$$ACC=0 ; SYSTEM WIDE ACCOUNTING .IFT $MACC .DATA #1 M$$ACC=0 ; MEMORY UTILIZATION ACCOUNTING .IFT $TKACC .DATA #1 T$$KAC=0 ; SELECTIVE TASK ACCOUNTING .IFT $RNPRV .DATA #1 ; KMSKIT RELEASE V4.1 BL33 XA /