1992.12.22

SUBJECT: Workload Management(시스템 Performance Management)

STATUS OF THIS MEMO:
System Performance Tuning과 관련하여 시스템의 WORKLOAD를 Management 하기위한
utility를 정리한 것임

CONTENTS:
1. Changing a Job's Priority
   1) BSD C Shell nice
   2) Changing a job's priority BSD UNIX
   3) The at command
   4) System V.4 Batch Queues
2. Shell Time Limits
3. CPU Capacity
   1) What the basic kernel tables are
   2) Configuration Parameters for Kernel Tables

DESCRIPTION:

1. Changing a Job's Priority

   1) BSD C Shell nice

      - BSD UNIX하에서 nice command를 이용 -20에서 20까지의 nice number를
        부여하여  priority를 부여할수 있으며 -20은 the highest priority,
        20은 lowest이며, default는 0 이다

      % nice +/-n command
        여기서 n은 0-20사이의 integer 

   2) Changing a job's priority BSD UNIX

      - 어떤 job이 한번 running된후 그job의 priority를 수정하기 위해
        renice라는 command 의 사용이 필요

      % /etc/renice priority -p pid
      % /etc/renice priority -g pgrp
      % /etc/renice priority -u uname
        ( pid  : process의 ID number
          pgrp  : process group number
          uname : user name )

   3) The at command

      % at options time script_file
      
      % at options time
      Command 1
      Command 2
      ...
      CTRL-D

      %atq      : batch job의 status를 report
      %atrm

   4) System V.4 Batch Queues

      % batch
      Command 1
      Command 2
      CTRL-D

      % batch script_file

2. Shell Time Limits

    % limit
      cputime 	unlimited
      filesize 	unlimited
      datasize 	524280 kbytes
      stacksize 	8192 kbytes
      coredumpsize 	unlimited
      memoryuse 	unlimited
      descriptors 	64 

    % limit -h cputime time
      ( -h option이 없으면 soft limit, 있으면 hard limit)
      
      - hoursh          limit in hours
      - minutesm           ,,    minutes
      - seconds            ,,    seconds (default)
      - minutes:seconds    ,,    minutes & seconds

    % limit cputime 200m

    % unlimit           removes limits

3. CPU Capacity

   1) What the basic kernel tables are

      - Process table  : Process table의 size는 동시에 run할수 있는 
                         process 의 total수를 제한
     
      - Text table     : 한번에 active될수 있는 text segment의 수

      - Region table   : System V에서 Text table대신 사용

      - Inode table    : cache of active inode entries

      - File table     : 한번에 open할수 있는 total file수

      - Callout table  : 한번에 active할수 있는 timer의 수
                         timer는 I/O device가 responding을 할것인지를 결정하는
                         device driver들에 의해 사용되며,
                         Callout table에 overflow가 발생하면 "Timeout table
                         overflow"라는 message 발생

      - Character list(clist) table
                         buffer terminal I/O에 사용되는 character수
     
      - Processes per user : 어떤 사용자에게 할당된 process의 total수

      - Files per process : 어떤 process가 한번에 open할수 있는 file의 수

      - Mounted filesystems : any time에 mount할수 있는 filesystem의 수

   2) Configuration Parameters for Kernel Tables

      - /sys/sun4c /sys/sys directory 참조

      Table        V.2 Name  V.3&V.4 Name   BSD Variable   BSD default
     ----------------------------------------------------------------------
      Process      PROCS     NPROC          nproc          20+8*maxusers
      Text         TEXTS                    ntext          36+maxusers
      Region       REGIONS   NREGION(V.3)
      Inode        INODES    NINODE         ninode         nproc+80+13*maxusers
      BSD Inode              UFSINODE(V.4)
      File         FILES     NFILE(V.3)     nfile        16*(nproc+16+maxusers)
                                                         /10+64
      Callout      CALLS     NCALL          ncallout       16+nproc
      Character list CLISTS  NCLIST         nclist         60+12*maxusers
      Quota table            NDQUOT(V.4)    ndquot         ninode+(maxusers*
                                                           nmount)/4
      Processes 
      per user     MAXPROC   MAXUP          MAXUPROC       25
      Files 
      per process            NOFILES(V.3)   NOFILE         256
      Mounted
      filesystems  MOUNTS    NMOUNT(V.3)    NMOUNT         40
      ------------------------------------------------------------------------




Revision History
Created      on Dec  22 ,1992