This customer has defined two configuration files for interactive work: one for standard workstations and one for large interactive servers. These files are meant to be tailored to machines of differing processing power.
#==============================================================================# # Description: LoadL_config.local for Standard Workstations (<370 Class) #==============================================================================# # Need 2x Paging Space to Real Memory ( minimum ) For Worst Case Of One # Suspended and One Foreground Running Job. # *) All Jobs (btv,lp) Suspend on LoadAvg or Keyboard/Mouse Movement. #==============================================================================# # Class defines the permissable classes, MAX_STARTERS defines the max # total jobs to be permitted. #==============================================================================# Class = { "btv" "lp" } MAX_STARTERS = 1 #==============================================================================# # The next definitions are used in the expressions below to regulate the # conditions under which jobs get started, suspended, and evicted. # All times are specified in units of seconds. #==============================================================================# BackgroundLoad = 0.8 HighLoad = 1.6 StartIdleTime = 900 ContinueIdleTime = 900
#==============================================================================# # LoadAvg is an internal variable whose value is the (Berkeley) load average # of the machine. # # CPU_Idle - No LoadL job running, or One job just finishing. # CPU_Busy - One LoadL job running, second job ( Foreground or Batch ) # starting up. # CPU_Max - Two LoadL jobs running. #==============================================================================# CPU_Idle = (LoadAvg <= $(BackgroundLoad)) CPU_Busy = (LoadAvg >= $(HighLoad)) #==============================================================================# # This defines a boolean "KeyboardBusy" whose value is TRUE if the keyboard # or mouse has been used since loadl last checked. Thus if POLLING_FREQUENCY # is 5 seconds, KeyboardBusy is TRUE if anybody has used the kbd or mouse in # the last 5 seconds. #==============================================================================# KeyboardBusy = KeyboardIdle < $(POLLING_FREQUENCY) #==============================================================================# # This statement indicates when a job should be started on this machine #==============================================================================# Weekend = ( (tm_wday >= 6) || (tm_wday < 1) ) Day = ( (tm_hour >= 7) && (tm_hour < 18) ) Night = ( (tm_hour >= 18) || (tm_hour < 4) ) Inactive = ( (KeyboardIdle > $(StartIdleTime)) && $(CPU_Idle) ) HP = ( (Class == "btv") ) LP = ( ($(Weekend) || $(Night)) ) START : ( ($(HP) || $(LP)) && $(Inactive) ) #==============================================================================# # The SUSPEND statement here says that a job should be suspended but not # killed if: # LoadAvg >= 1.6 Or KeyboardIdle < 5 #==============================================================================# SUSPEND : ( $(CPU_Busy) || $(KeyboardBusy) ) #==============================================================================# # This CONTINUE statement indicates that a suspended job should be continued # if the cpu goes idle and the keyboard/mouse has not been used for the last # 15 minutes. #==============================================================================# CONTINUE : $(CPU_Idle) && KeyboardIdle > $(ContinueIdleTime) #==============================================================================# # Jobs in the SUSPEND state are never killed, after 60 minutes they are # relocated to a different machine if possible. #==============================================================================# MaxSuspendTime = 60 * $(MINUTE) VACATE : $(StateTimer) > $(MaxSuspendTime) KILL : F
#==============================================================================# # If you set START_DAEMONS to False loadl can never start on this machine. # For example you may want to stop loadl for a couple days for maintenance # and make sure no procedure automatically restarts it. #==============================================================================# START_DAEMONS = True #==============================================================================# # Set the maximum size each of the logs can reach before wrapping. #==============================================================================# MAX_SCHEDD_LOG = 128000 MAX_COLLECTOR_LOG = 128000 MAX_STARTD_LOG = 128000 MAX_SHADOW_LOG = 128000 MAX_KBDD_LOG = 128000
#==============================================================================# # Description: LoadL_config.local for Interactive Large Servers (580-590 Class) #==============================================================================# # Need 3x Real Memory To Paging Space ( minimum ) For Worst Case Of Two # Suspended and One Foreground Running Job. # *) All Jobs (btv,lp) Suspend on LoadAvg or Keyboard/Mouse Movement. # *) Real Memory >= 192meg. #==============================================================================# #==============================================================================# # Class defines the permissable classes, MAX_STARTERS defines the max # total jobs to be permitted. #==============================================================================# Class = { "btv" "lp" } MAX_STARTERS = 2 #==============================================================================# # The next definitions are used in the expressions below to regulate the # conditions under which jobs get started, suspended, and evicted. # # All times are specified in units of seconds. #==============================================================================# BackgroundLoad = 0.8 LowLoad = 1.0 HighLoad = 1.6 MaxLoad = 2.0 StartIdleTime = 900 ContinueIdleTime = 900
#==============================================================================# # LoadAvg is an internal variable whose value is the (Berkeley) load average # of the machine. # # CPU_Idle - No LoadL job running, or One job just finishing. # CPU_Busy - One LoadL job running, second job ( Foreground or Batch ) # starting up. # CPU_Max - Two LoadL jobs running. #==============================================================================# CPU_Idle = (LoadAvg <= $(BackgroundLoad)) CPU_Run = (LoadAvg <= $(LowLoad)) CPU_Busy = (LoadAvg >= $(HighLoad)) CPU_Max = (LoadAvg >= $(MaxLoad)) #==============================================================================# # This defines a boolean "KeyboardBusy" whose value is TRUE if the keyboard # or mouse has been used since loadl last checked. Thus if POLLING_FREQUENCY # is 5 seconds, KeyboardBusy is TRUE if anybody has used the kbd or mouse in # the last 5 seconds. #==============================================================================# KeyboardBusy = KeyboardIdle < $(POLLING_FREQUENCY) #==============================================================================# # This statement indicates when a job should be started on this machine #==============================================================================# Weekend = ( (tm_wday >= 6) || (tm_wday < 1) ) Day = ( (tm_hour >= 7) && (tm_hour < 18) ) Night = ( (tm_hour >= 18) || (tm_hour < 4) ) Inactive1 = ( (KeyboardIdle > $(StartIdleTime)) ) Inactive2 = ( (KeyboardIdle > $(ContinueIdleTime)) ) HP = ( (Class == "btv") ) LP = ( (Class == "lp") && $(CPU_Idle) ) START : ( ($(HP) || $(LP)) && $(Inactive1) ) #==============================================================================# # The SUSPEND statement here says that a job should be suspended but not # killed if: # KeyboardIdle < 5 Or # lp Class And LoadAvg >= 1.6 Or # btv Class And LoadAvg >= 2.0 #==============================================================================# SUSPEND : ( ( (Class == "lp") && $(CPU_Busy) ) || \ ( (Class == "btv") && $(CPU_Max) ) || \ ( $(KeyboardBusy) ) ) #==============================================================================# # This CONTINUE statement indicates that a suspended job should be continued # if: # lp Class And LoadAvg <= 0.8 And KeyboardIdle > 15 min Or # btv Class And LoadAvg <= 1.0 And KeyboardIdle > 15 min #==============================================================================# CONTINUE : ( ( (Class == "lp") && $(CPU_Idle) && $(Inactive2) ) || \ ( (Class == "btv") && $(CPU_Run) && $(Inactive2) ) )
#==============================================================================# # Jobs in the SUSPEND state are never killed, after 60 minutes they are # relocated to a different box if possible. #==============================================================================# MaxSuspendTime = 60 * $(MINUTE) VACATE : $(StateTimer) > $(MaxSuspendTime) KILL : F #==============================================================================# # If you set START_DAEMONS to False loadl can never start on this machine. # For example you may want to stop loadl for a couple days for maintenance # and make sure no procedure automatically restarts it. #==============================================================================# START_DAEMONS = True #==============================================================================# # Set the maximum size each of the logs can reach before wrapping. #==============================================================================# MAX_SCHEDD_LOG = 128000 MAX_COLLECTOR_LOG = 128000 MAX_STARTD_LOG = 128000 MAX_SHADOW_LOG = 128000 MAX_KBDD_LOG = 128000