
      
 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.
