powernapd - configurable daemon that will run at a specified INTERVAL_SECONDS, executing powernap when all of a list of MONITORS are missing or inactive for a contiguous ABSENT_SECONDS.
powernapd will run powernap(8) when none of a set of MONITORS have executed for some number of ABSENT_SECONDS.
powernapd will check for activity on each enabled monitor every INTERVAL_SECONDS. Note that MONITORS taking less than INTERVAL_SECONDS to execute may be overlooked by powernapd. Choose your INTERVAL_SECONDS value accordingly. These parameters are configured in /etc/powernap/config.
It acts as a sort of "screensaver" for servers, watching the process table for activity, rather than the keyboard or mouse. For instance, PowerNap can automatically "pm-suspend" a system if no instance of "kvm" runs for some contiguous block of "300" seconds, checking the process table every "1" second.
The available MONITORS are:
Tracks activity in any console (tty), as well as activity of any PS2 connected mouse or keyboard. Monitor enabled by default.
Tracks activity by searching for a process regex in the Process Table.
Tracks Input activity from /dev/input. It usually tracks keyboard and mice activity connected through USB.
Tracks system load activity given a load threshold. Monitor enabled by default, with a threshold matching the number of processors in the system.
Tracks WoL data packets received in any of the network interfaces (eth's). Monitor enabled by default to listen in ports 7 and 9.
Tracks TCP activity by checking any ESTABLISHED connection in any port, such as ssh, httpd, etc.
Tracks UDP activity by binding any specific port.
Tracks Process I/O activity for a given process name, or regex.
For more information about the MONITORS, refer to /etc/powernap/config.
This manpage and the utility was written by Dustin Kirkland <email@example.com> for Ubuntu systems (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.