ACC is the accounting control interface task. It controls the operation of SYSLOG, and implicitly TSKLOG. The general form of the command to ACC is: ACC /sw1/sw2/sw3.../swn ACC will provide a clear warning message in the event a syntax error or illogical switch combination is employed. In general any number of switches may appear on a single line. The singular exception to this are the switches enabling and disabling task accounting. They must exist as commands on their own line. Task accounting may not be started unless system accounting is active. By default, the minimal selectable option is CPU time accounting. Other options which specify additional types of accounting will automatically enforce CPU accounting to start. Features controled by ACC include; 1. Start accounting. 2. Set the account feature mask for the desired options. 3. Change the accounting features desired(except for cpu time, null time and QIO accounting) on line without interupting accounting. 4. Modify the accounting sample interval. 5. Turn off accounting. 6. Display the current accounting features. 7. Start/Stop task accounting. For further HELP with switches type HELP ACC SWITCHES LIST or HELP ACC SWITCHES /switch. 2 SWITCHES 3 LIST START - Start up the accounting task SYSLOG. STOP - Stop the accounting task SYSLOG CPU - Start CPU and null time accounting . GBL - Log system global variables at each interval. QIO - Activate system wide qio accounting. UQIO - Activate system wide and user qio accounting. DIR - Activate directive accounting. MEM - Log memory utilization variables every sample interval. FREE - Log memory utilization variables if core space is tight or if the checkpoint files are in significant use. POOL - Log memory utilization variables if pool gets too low. DLT:N - Change sample interval time, to n minutes . Defaults to 30 minutes. LOG - Log HELLO/BYE/UPD sign on/off times, statistics, and terminals. DSP - Display current settings of account mask. LCO - Log co: statistics each sample interval. TASK - Start up task accounting, requires /UQIO PRI[NT] - Print task accounting statistics to TI: (not log file.) SPO[OL] - Log Print Spooler usage. NUQ[IO] - Disable terminal qio accounting. (system wide qio accounting continues). NLO[G] - Disable logging hello/bye/upd data. NLC[O] - Disable logging co: statistics. NME[M] - Disable memory logging. NFR[EE] - Disable memory logging on low free core. NPO[OL] - Disable memory loggig on low free pool. NTA[SK] - Disable task accountin. NPR[INT] - Disable printing task accounting to TI: NSP[OOL] - Disable logging Print Spooler usage. * -- All options enable CPU time accounting. 3 /START The /START switch must be used on the command line start- ing up accounting. It must be followed with other switches in order to define the type of accounting configuration desired. ap When accounting starts up, a start packet of data (start time, sample interval, and $ACMSK) is sent to LOG... 3 /STOP The /STOP switch will stop system accounting and task ac- counting(if active). It should be issued as a command by it- self. Before SYSLOG exits a stop data packet (stop time,schedule interval, requesting task, and $ACMSK) is sent to LOG... 3 /DSP The /DSP switch will display all currently active ac- counting options including the sample interval. It should be used on a command line by itself as it will display the cur- rent status as soon as it is decoded. 3 /CPU The /CPU switch indicates that CPU accounting(the de- fault) is desired. The /CPU switch need not be used if other accounting configuration switches are present. 3 /GBL If the /GBL switch is present, every 'DELTA' minutes, various global accounting parameters are scanned and account- ing data packets sent to log. At present the global system statistics include run requests, SHUFFLER requests, checkpoint requests, and LDR requests. Until core becomes very over- crowded, these statistics provide a good measure of system ac- tivity in any period of time. If too many tasks are competing for core, the Exec will thrash about swapping tasks in and out. SHF will start being requested very ofter even though there is nothing it can do. If this accounting shows this to be a persistant and serious problem the task SCH is provided which can modify the Round Robin and Executive Disk Swapping intervals on line. By lengthening these times, tasks will be allowed to execute longer and thrashing should decrease to a manageable level. 3 /UQIO #QIO 3 /NUQIO #QIO 3 /QIO If /QIO accounting has been selected as a SYSGEN option(it must for task accounting to work), the /QIO switch will enable SYSLOG to keep a count of the total system QIO's issued. This value is sampled every 'DELTA' minutes. The counter is a 2 word counter, but for a system with a lot of QIO activity some care must be excersized in selecting the value for 'DELTA' to insure that overflow does not wipe out the data. The /UQIO switch enables user by user qio accounting. A count of the number of QIO's issued at a given terminal is made into each UCB. This counter is zeroed at logon, and at logoff its value is sent to LOGTSK. The switch /NUQIO may be used to turn off user by user QIO accounting unless tasklog- ging is operative in which case, using the switch is declared to be an error. System wide QIO accounting may not be direct- ly disabled while SYSLOG is running. To turn off system wide QIO accounting, issue a ACC /STOP and when SYSLOG stops, issue another command to start it up with the appropriate option. 3 /NMEM #MEM 3 /MEM The /MEM switch enables accounting for memory utilization(if it is a sysgen option). As currently imple- mented RMD52 keeps track of the number of tasks in core, the number of tasks out of core, the size of task in core and the size of tasks out of core(checkpoint files). Additionally, it keeps track of pool(free pool, largest size, and number of fragments). These quantities are stored in global variables in SYSCM and are logged every 'DELTA' minutes by SYSLOG. The /NMEM switch disables logging memory statistics. 3 /POOL #/FREE 3 /NFREE #/FREE 3 /NPOOL #/FREE 3 /FREE Memory utilization accounting can use up a lot of disk space quickly. Often all one wants is to keep a record of when the system started to hang up(too little pool, too little memory, too many tasks in and our of core, or too large tasks). The /FREE switch directs SYSLOG to send off a memory utilization data packet only if core space gets tight or if too many files are on checkpoint files. Currently Syslog will send off a memory record if /FREE is implemented if more than 75.K words of tasks are in core or if more than 10.K words of tasks are out of core. These values should be changed to re- felect the size of free core on one's system and the total am- ount of checkpoint file space available. Edit SYSLOG.MAC and Pf Inval. The switch /NFREE will disable this accounting fea- ture. The POOL switch will do the same thing for pool. If the /POOL command switch is present, a memory utilizaton re- cord will be logged every sampling interval during which pool is less than 500(10) words. However if pool is 200(10) words or lower, no data will be sent, rather a counter(NOPOOL) is incremented to show how many times low pool would have forced logging pool and memory statistics. The value for NOPOOL is sent with each send packet and is then cleared. /NPOOL dis- ables this option. 3 /DLT The /DLT:n switch set the sample interval to be 'n' mi- nutes. At startup if no sample time is specified, a sample time of 30 minutes is assumed. Any time thereafter the /DLT switch may be used to change the sampling interval. Each time the sample interval is changed a change sample interval data packet is logged. This enables a program reading SYSLOG.DAT to keep track of what is happening. LOGTSK is sensitive to the sampling interval. If the samples are more than 5 minutes apart, it exits between times when it recieves data. If sam- ple intervals are more frequent, it stops itself and waits ar- ound for data to show up. This eliminates the overhead asso- ciated with opening/closing the log file. 3 /NLOG #/LOG 3 /LOG If the /LOG switch is specified, HELLO, BYE, and UPD all send off data packets to LOGTSK. The /NLOG disables this function. HELLO sends to LOGTSK the logon time, the terminal ID, the account number, the UIC and the number of illegal login attempts since the last logon. BYE sends off the logoff time, the terminal id, the acnt number, the UIC, the CPU time used, and the number of QIO's issued by the user. UPD sends off the logoff time, the terminal id, the account number, the user's system device, the number of files in use, and the number of blocks in use. From the data sent by these three tasks a sophisticated chargeback system could be implemented. 3 /NLCO #/LCO 3 /LCO A large number of tasks run with CO: as their TI:. Some of these are system tasks while others are real time tasks or tasks which have been scheduled. In order to keep track of the system resources used by these tasks, the /LCO switch is provided. The SYSLOG intercept code will log data to CO:'s UCB just as if it were a real terminal(this is why we require the CO: driver data base). Every 'DELTA' minutes the data(CPU time and QIO count) is logged and the values reset to zero. The /NLCO switch disables logging of data from CO:. 3 /NTASK #TASK 3 /TASK If TSKLOG is installed, the /TASK switch will start up task accounting. System accounting must already be running with /UQIO enabled. The /TASK switch should be a command by itself. Once it is issued, TSKLOG will prompt for the user to input a list of task names which are to be accounted for. TSKLOG will stop requesting tasks if a null line is entered. Only enter tasks which are going to exit. A task accounting packet is not logged until the task exits.(task accounting starts when the task becomes active). Tasks like MCR which stop themselves are always active and can not be monitored short of aborting them. Aborting a task will cause a data packet to be sent, but aborting privleged exec tasks to moni- tor them is highly risky. Task accounting may be stopped by issuing either the /NTASK or /STOP command. the /NTASK com- mand stops just task accounting whereas the /STOP command stops everything. 3 /NPRINT #/PRINT 3 /PRINT At times it is far more convenient to have data displayed directly on the user's terminal than to have it sent off to a log file. The /PRINT switch will disable sending task logging data to LOGTSK and will enable printing this data on the user's TI:. Note, that while TSKLOG is printing the task could start up again and TSKLOG would miss its start. The /NPRINT switch disables printing to the user's TI:, and the data is again sent off to LOGTSK. 3 /NSPOOL #/SPOOL 3 /SPOOL Print spooler usage can be logged via the /SPOOL switch or logging can be disabled via the /NSPOOL switch. Data logged includes the user's account number(not UIC), the total number of pages printed in the job, the number of copies made for the job, and the name(RAD50) of the print despooler task. Note that the account number is only logged if the user is still logged on. If the user logs off and /or another user logs on, the account number will not reflect the account file.