When Users Go Berserk ®


­ a B.O.F.H. tool ­

Hosted by
SourceForge Logo

  • 05/03/27 - 1.2.2 release.
    Linux Bugfix: get uid/gid from /proc/<pid> instead of .../stat; man page examples fixed.
  • 04/09/09 - 1.2.1 release.
    Linux Bugfix: now considers both usr and sys time, not only usr. (The other Unices already did this.)
  • 04/04/10 - 1.2.0 release.
    New features: parent/ancestor evaluation, minimum user/group id.
  • 03/07/12 - 1.0.9 release.
    New zombie fix, very long job support, Opteron binary.
  • 02/09/01 - Wrote wrapper for increased priority. (See right.)
Download 1.2.1


auto nice daemon

He did it again, comrade system administrator!
-- desperate Comrade Stanitzki, after some DAU again launched yet another un-niced 100+ CPU-hour job on a shared workstation.

AND is here to help. It was born from the desparate cries of a thousand regular users suffering from above DAU.

The auto nice daemon activates itself in certain intervals and renices jobs according to their priority and CPU usage. Jobs owned by root are left alone. Jobs are never increased in their priority.

If you need to increase the priority of a job, like cdrecord or MP3 or DVD players, this isn't really a job for and(8) but for a wrapper. Due to popular demand, I wrote such a wrapper. Get the code.

AND is very flexible. The renice intervals can be adjusted as well as the default nice level and the activation intervals. A priority database stores user/group/job/ancestor tuples along with their renice values for three CPU usage time ranges. Negative nice levels are interpreted as signals to be sent to a process, triggered by CPU usage; this way, Netscapes going berserk can be killed automatically. The strategy for searching the priority database can be configured.

AND also provides network-wide configuration files with host-specific sections, as well as wildcard/regexp support for commands in the priority database.

Iterating through the list of processes is a highly O/S-specific task, so AND will only run on the O/Ses listed on the left.
Last modified: Sat Apr 10 23:01:21 CEST 2004