|
The rush.conf file can be updated on the fly. Simply edit a copy, make
changes, then rdist(1) the copy to all the machines, and the daemons
will pick up your changes within one minute.
(New in 102.31) You can prefix
any rush.conf commands with 'os=windows' or 'os=unix' to qualify
the command be run on those respective operating systems. This way
you can maintain one file for both windows and unix operating systems.
eg:
To make changes to this file and update this to the network,
use these commands.
Configuration File
$RUSH_DIR/etc/rush.conf
rush.conf
Commands
The configuration file should be customized by the systems administrator.
Most settings are used only for fine tuning, but some control important
security settings (uidrange/gidrange/forceuid/forcegid), and process auditing/logging
(cpuacctpath).
os=windows tmpdir C:/TEMP # WinNT
os=unix tmpdir /var/tmp # Unix
..in this case 'tmpdir C:/TEMP' is set on all the windows machines,
and 'tmpdir /var/tmp' is set on all the unix machines.
![]() |
![]() |
![]() |
![]() |
AdminUser | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AllJobsFmt | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AllJobsHeader1 | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AllJobsHeader2 | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AllowPush | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AppHostCache | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ClientPort | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
CpuAcctPath | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
DaemonHostCache | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
DisableFu | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
DisablePflags | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ExpandCpus | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ForceGid | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ForceUid | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
GidRange | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
HourlyConsole | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
InMaxMsgs | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JobFmt | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JobHeader1 | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JobHeader2 | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JobUpdateThrottle | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
JobPassTimeout | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
LogFlags | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
LogRotateHour | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MaxNewTaskMsgs | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
NtRushGid | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
NtRushUid | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ServerPort | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SmtpDebug | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SmtpFrom | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SmtpPort | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
SmtpServer | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TaskCleanupHours | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TaskKeepaliveSecs | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TcpSockOpts | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
TmpDir | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
UdpMaxRetries | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
UdpRestTimeOut | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
UdpTimeout | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
UidRange | ![]() |
![]() |
![]() |
![]() |
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
UseJobObjects | ![]() |
![]() |
![]() |
![]() |
|||||
![]() |
|
![]() |
|||||
![]() |
![]() |
![]() |
The cpu accounting file is configured with the rush.conf file's CpuAcctPath command. Each time a frame finishes executing, a new entry is created in the Cpu Accounting file, logging the name of the job, how long the frame ran, etc.
Cpu Accounting File Example
|
Process Entriesp 948242783 tahoe.798 WERNER/C33 erco 0106 superior 100k 122 0 0 0 27822 p 948242783 tahoe.798 WERNER/C33 erco 0107 superior 100k 122 0 0 0 27834 p 948242865 tahoe.797 KILLER erco 0504 superior 200 121 0 0 0 27846 - --------- --------- ---------- ---- ---- -------- ---- --- - - - ----- | | | | | | | | | | | | | | | | | | | | | | | | | Pid | | | | | | | | | | | | | | | | | | | | | | | Exit code | | | | | | | | | | | | | | | | | | | | | #Secs User Time | | | | | | | | | | | | | | *Job | | | | #Secs System Time | | | | Owner | | | | | | | | | | | | | | | Title of job | | | #Secs Wall Clock Time | | Jobid | | | | | | | Priority | time(2) process started | | | | Host that ran the process 'p' indicates 'process entry' | Frame that ran * The job owner is not necessarily the owner of the process. Such is the case in windows jobs running frames on unix machines, or 'forceuid' configured in the rush.conf file. |
|
CAVEATS
'Exit code' is normally a positive number representing the actual exit code of the process. This value will be negative if the process was signaled; the value being the signal number. If the value is negative, this usually means the process killed, segfaulted, or was bumped by a higher priority process. Commonly, the 'Exit code' will be one of: -15 - process killed with SIGTERM; someone probably manually killed it -9 - process killed with SIGKILL; probably bumped in a priority battle -3 - process killed with SIGINT; someone sent it a ^C 0 - process did an exit(0); frame Done 1 - process did an exit(1); frame Fail 2 - process did an exit(2); frame Requeue
Although tempting, it is not recommend to use process execution times for cpu billing purposes. Wall clock time includes time the process may have spent waiting for network load. User and System times report the respective times spent for the Render Script only; not its sub-processes (e.g., the renderer). To properly bill for cpu time, you would either need to enable full-on Unix process accounting to attain accumulated cpu time for all sub-processes in the user's render script, or, create wrapper scripts that use programs like timex(2) to monitor the binary execution time of the critical render/compositor processes.
Tools like timex(2) indicate in their documentation that they must have Unix process accounting enabled to show sub-process totals. This is usually prohibitive on production machines, due to disk resources used by the Unix process accounting system.