and - auto nice daemon
] [-i interval
] [-d /path/to/and.priorities
This manual page documents and
The auto nice daemon activates itself in certain intervals and renices and even
kills jobs according to their priority and CPU usage.
commands. Wildcards can be specified for any of these. In addition, commands
can be specified using POSIX regular expressions. To allow for network-wide
configuration and priority files, a mechanism for hostname-based evaluation is
provided, again supporting regular expressions for specifying host names.
Jobs owned by root are left alone. Jobs are never increased in their priority.
Here are some real-world examples:
A certain user is notorious for wasting CPU with next-to-irrelevant jobs. One
line is sufficient to renice all of his jobs to about 19. This is a typical
situation for a LART (Luser's Attitude Readjustment Tool) like and.
A CPU server is dedicated to a certain group, but others may also use it when
it's idle. Just define default nice levels of e.g. 18 and a lower nice level
for the privileged group, say nice level 12.
A certain web browser who shall remain unnamed tends to go berserk once in a
while. You can configure and
to kill -9 it after e.g. 20 CPU minutes.
- -c /path/to/and.conf
- Specifies the configuration file. If this flag is omitted,
/etc/and.conf is used instead.
- -d /path/to/and.priorities
- Specifies the priority database file. If this flag is
omitted, /etc/and.priorities is used instead.
- Produces a short help text.
- -i interval
- Sets the interval between nice level checks. This flag
overrides the interval specified in the configuration file, if any. The
default interval of 60 seconds is used if neither -i nor an
interval directive in the configuration file is given.
- Log to stdout. Without this switch, logging goes to syslog
(normal operations) or ./debug.and (test mode). Useful for
debugging config files.
- Run in test mode only, i.e. don't really renice or kill
anything. In this mode, logging goes into ./debug.and instead of
- Increase verbosity. For maximum verbosity, this flag can be
specified multiple times. Be warned that this will blow up your log files,
so you should use it in test mode only.
- Run in full operational mode, i.e. really renice or kill
things. This is the default.
- Foreground mode. Don't daemonize.
On kill -HUP
the auto nice daemon will reload its configuration file and
- General configuration file. Stores default nice level,
default interval, the "time zones" and the database lookup
- The priority database (in plain text). Contains the (user,
group, command, nicelevels) tuples.
- Both files have their own manual pages.
- Contains logging and status information for debugging
purposes. Used in test mode only.
The auto nice daemon and this manual page were written by Patrick Schemitz