pmx-milter - The PureMessage control program
pmx-milter start [milter...] pmx-milter stop [-signal] [milter...] pmx-milter restart [milter...] pmx-milter status pmx-milter help
pmx-milter
is a generic control program for PureMessage mail filters.
It is used to start, stop and monitor the mail filter processes that communicate
with the mail transfer agent (MTA).
pmx-milter
loads the milter(s)
specified in the pmx.conf
configuration file.
Run pmx-milter
as the PureMessage user (by default 'pmx6'). You can also
run pmx-init
as root, or from system startup and shutdown scripts.
The following sub-commands are recognized:
signal should be either a signal number or a signal name.
By default, a graceful shutdown is attempted by sending the HUP (or TERM) signal to the running milter(s). This allows ongoing connections to finish processing before the milter shuts down. The signal argument can be provided with the stop command to force a more sudden death; an INT signal will attempt to do a clean shutdown after aborting current connections, and a KILL signal will shut it down immediately.
VSZ
(Virtual Memory Size) value reported by 'ps' on the
top-level process (the one that doesn't handle any connection requests,
but simply passes them on to one of the children in the pool). It reflects
the size of the top-level process before it started forking to create the child
processes in the pool. All the processes in the pool will normally have a
VSZ (as reported in the slot data below) at least this big.
The 'procs' field is actually computed from 'ps' output, so if 'ps' can't distinguish between processes and threads (like on many versions of Linux) this field won't be very useful. The slots data (see below) will always be accurate.
The first part of this field can change depending on which process in the pool happened to service the ping request. The second part should be the same no matter which process handled the ping.
slots=x/x (x retiring) req=x msg=xxxx
The first number after the 'slots' field reflects the maximum size that the process pool has ever been.
The second value shown in the 'slots' field (the one after the /) shows
the maximum number of processes that can be instantiated by pmx-milter
in
its process pool. Normally, only half this number of processes can be
instantiated, but the rest can be created if some of these processes are
in the act of 'retiring'. A retiring process is one that is about to go
away; it has stopped accepting new connections and is waiting to finish
processing its pending connections before exiting.
The 'req' field shows the total number of connections that are currently being processed among all of the processes in the pool.
The 'msg' field shows the total number of messages that have been processed by the process pool.
Information about individual slots is displayed as follows:
slot#x: pid=xxxx vsz=xxx.x acc=xxxx/xxxxx/xx req=x*
The 'pid' field shows the process id of the process that currently occupies that slot. 'vsz' is the current virtual memory size of that process.
The 'acc' field shows three values: the number of connections that have been handled by the current process in the slot, the total number of connections handled by all the processes that have occupied the slot, and the number of distinct processes that have occupied the slot.
The 'req' field shows how many connections this particular slot is currently handling. This value summed across all slots should add up to the value shown in the previous 'req' field in the summary line. A '*' is added after the 'req' number if the slot is retiring.
the pmx-intro manpage, pmx-conf, PerlMx
Copyright (C) 2000-2008 Sophos Group. All rights reserved. Sophos and PureMessage are trademarks of Sophos Plc and Sophos Group.