When Users Go Berserk ®
AND
a B.O.F.H. tool
|
Hosted by
|
Configuration
|
This page documents the file and.priorities, the
main database of the auto nice daemon.
Back to main page
|
|
AND.PRIORITIES
NAME
VERSION
DESCRIPTION
SETTINGS
EXAMPLES
FILES
SEE ALSO
INTERNET
NAME
|
/etc/and.priorities - priority database for the auto nice daemon. |
VERSION
|
This manual page documents and.priorities for and
version 1.2.0. |
DESCRIPTION
|
This is the priority database file for and. It stores
(user, group, command, parent, nicelevels) tuples (hereafter
called entries) to determine the new nice level (or the kill
signal, for that matter) when a job reaches one of the time
limits defined in /etc/and.conf. (See lv1time,
lv2time, and lv3time on the and.conf manual page for
details.) See the affinity setting in
/etc/and.conf for how ambiguities between the fields
(user, group, command, parent) are dealt with when searching
the database to determine the new nice level for a job. Note
that if more than one entry matches with the same accuracy
(e.g. with a parent= entry and an ancestor= entry), the
last entry wins! |
|
Comments start with a # in the first column. Empty
lines are ignored. Unlike with other configuration files,
lines cannot be concatenated with a backslash.
Furthermore, this file is case
sensitive. |
|
and allows for host-specific sections in the
configuration file. These work as lines of the form on
somehost and work as follows: the parser determines if
the host name (as returned by gethostname) matches the
extended regular expression that follows the on
keyword. If it does, it just keeps processing the file as if
nothing had happened. If it does not match, however,
everything up to the next on keyword is skipped. So
if you want to end a host-specific section, you must write
on .* (which matches all hosts) to switch back to
normal. |
|
Don't forget to kill -HUP the auto nice daemon to
enable the changes. |
SETTINGS
|
A valid entry consists of a line of six columns, separated
by one or more spaces. These columns are: (in that
order) |
|
The user ID the command is running under. May be a user name
(which will be looked up in the password file and, if
enabled, via NIS), or a numeric user ID, or an asterisk for
any user. |
|
The group ID the command is running under. May be a group
name (which will be looked up in the group file and again,
if enabled, via NIS), or a numeric group ID, or an asterisk
for any group. |
|
The name of the command, without path. May be a command, a
regular expression to match multiple commands, or an
asterisk for any command. Note that "foobar" will
not match "/usr/bin/foobar" - you probably
mean ".*foobar" or even
".*foobar.*". |
|
There are two modes of operation for the parent field,
determined by a keyword: parent=foobar will match if
a process' direct parent process matches the command or
regular expression after the equal sign, whereas
ancestor=foobar will match if any ancestor
process matches. After the keyword and the equal sign goes
the name of the parent process, without path. May be a
command, a regular expression to match multiple commands, or
an asterisk for any command. (You can just use the asterisk
if you want to ignore parents for this entry.) Note that
again "foobar" will not match
"/usr/bin/foobar", as with command. |
|
The nice level after lv1time CPU time was used by the
command. Positive numbers and 0 are interpreted as nice
levels; negative numbers are interpreted as signals to be
sent to the command. A "nice level" of 19 will
almost stop the job, -9 will actually kill it. (Like in kill
-9.) lv1time can be set in /etc/and.conf |
EXAMPLES
|
Here are some entries from the real world (i.e. from
"my" cluster at the Institute). As lv[123]time, 5
min., 20 min., and 1 hour is assumed. (Which is the default.
See /etc/and.conf for details.) You might also check
the default priority database that comes with
and. |
|
# A finer default nice level
* * * * 4 8 12 |
|
# User dau is an idiot, so treat him like accordingly
dau * * * 19 19 19 |
|
# Netscape sometimes goes berserk, we must stop it
* * netscape * 4 -9 -9 |
|
# Most hosts are free for everyone but some are
# especially for the FOO group
* * * * 4 8 12
on (bar|baz)
* * * * 8 12 16
# ... or, more radical: * * * * -9 -9 -9
* foo * * 4 8 12
on .* |
|
# KDE screen savers...
* * .*kss * 16 16 16 |
|
# Grid jobs (assuming they are started by a master
# process)
* * * ancestor=grid_master 10 10 10
# Now some clever yet deceitful user might start all
# his jobs using a shell script named grid_master.
# He shall regret... whereas the original grid_master
# (owned by grid) is left alone.
* * grid_master * -9 -9 -9
grid * grid_master * 0 0 0 |
FILES
|
The priority database (in plain text). Contains the (user,
group, command, nicelevels) tuples. This is what this manual
page is about. |
SEE ALSO
|
and(8), and.conf(5), kill(1),
regex(7), renice(8) |
INTERNET
|
http://and.sourceforge.net/ |
|