README file
[mom.git] / README.txt
1 Overview
2 --------
3
4 "Pl_mom cleans up your mess" by resetting slices that are using up too
5 much memory, and by rebooting the machine once the swap space is
6 nearly full.
7
8 Specifically, pl_mom takes the following actions based on the amount
9 of consumed swap space:
10
11 * at 85% full, pl_mom starts logging the available swap space to
12   syslogd
13
14 * at 90% full, pl_mom resets the slice that is consuming the most
15   physical memory and sends an alert mail to that slice and the pl-mom
16   alias 
17
18 * at 95% full, pl_mom reboots the machine and sends mail to the pl-mom
19   alias
20
21 Pl_mom is organized as two processes.  The reboot process runs every
22 second, and the slice reset process runs every 30 seconds.  The reboot
23 process is very lightweight and only reads /proc/swaps.  However, the
24 slice reset process may pull data from the slicestat sensor on port
25 3100, which can potentially take a long time (on the order of minutes
26 if there are thousands of processes on the machine).
27
28
29 Building
30 ---------
31
32 Rename the parent directory from pl_mom to pl_dod-0.2 (or whatever is
33 the appropriate version number listed in the Makefile).  Then "make
34 rpm" should do it.
35
36
37 Notes
38 ------
39
40 The name of the daemon is "pl_mom" but the package name is pl_dod.
41 The reason is that the daemon and package were both originally called
42 pl_dod.  Yum (the package management tool currently in use) does
43 not seem to honor the "Obsoletes:" tag in the .spec file.  Therefore
44 it was not possible to automatically update the old pl_dod package
45 with a new one called pl_mom, and so the package kept the old name.