NAME

slpolice - Warn and renice top CPU hogs

SYNOPSIS

slpolice [ --help ] [ --port=port ] [ --dhost=host ] [ --cpu-hours ] [ --version ] [ --version ]

DESCRIPTION

slpolice will determine the top cpu users across a cluster of hosts. It will send mail if a process has over a specified amount of cpu time.

It will also mail if a user has a reservation for a long period of time.

Usually slpolice is run with a crontab entry similar to:

5 8-21 * * * /usr/local/bin/slpolice --cpu_min 120 --reserved_min 120 long=999 >/dev/null 2>&1

This sends warnings each hour after 2 hours of CPU time. It does not check at night so that long overnight jobs will not receive warnings.

Additional non-parameter arguments specify specific command regular expressions. When a process' command matches that regexp, the specified number of minutes will be used to determine when to send mail instead of the default.

This program is most valuable when used with the nicercizerd program, or a operating system where nice 19 processes get only leftover cpu resources. It requires a program called nice19 which is a version of nice that is setgid root and renices a job to 19. This comes with nicercizerd.

ARGUMENTS

--help

Displays this message and program version and exits.

--debug-user

With --debug, who to send the mail to instead of the process owner.

--port <portnumber>

Specifies the port number that slchoosed uses.

--dhost <hostname>

Specifies the host name that slchoosed uses. May be specified multiple times to specify backup hosts. Defaults to SLCHOOSED_HOST environment variable, which contains colon separated host names.

--cpu-min

Number of cpu minutes the job should have before being reported to the user. Defaults to 0, which is off.

--renice-min

Number of minutes after which the nice value of a high cpu using process that is not at 1 or 10 is reniced to 19. Defaults to 0, which is off.

--reserved-min

Number of minutes a host may be reserved before reporting it to the user. Defaults to 0, which is off.

--version

Displays program version and exits.

DISTRIBUTION

The latest version is available from CPAN and from http://www.veripool.org/.

nicercizerd is available from http://www.veripool.org.

Copyright 1998-2011 by Wilson Snyder. This package is free software; you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.

AUTHORS

Wilson Snyder <wsnyder@wsnyder.org>

SEE ALSO

Schedule::Load, nicercizerd, nice19,