psm.h(4)psm.h(4)NAMEpsm.h - Header file for the PSM vital process monitoring subsystem
SYNOPSIS
#ifndef _PSM_H_
#define _PSM_H_
#include <ksm/ksm.h>
DESCRIPTION
The Process Set Manager (PSM) is a loadable kernel subsystem that moni‐
tors the state of vital processes. The PSM is layered the Kernel Set
Manager (KSM), and uses the Category and MIB-id relationships it pro‐
vides.
PSM uses the Event Manager (EVM) to generate events that are available
for subscription by other system entities and users. For example, PSM
generates an event when processes are started or when they exit. This
feature is described in EVM Events.
PSM Process Categories and Members
Processes monitored by PSM are organized as follows: Process Category -
You create a process category by using the cfg_psm_catops() function.
Refer to cfg_psm_catops(3) for information. Process Category Member -
Each process to be monitored is registered as a member of a category.
You create a member by using the cfg_psm_memops() function. Refer to
cfg_psm_memops(3) for information.
For each process, PSM maintains the following data which is described
in detail in cfg_psm_memops(3). A cluster-wide unique name specifying
the cluster node number Its process identifier (PID) Its termination
status, only valid when the process exit flag is set Its flag settings
A user-modifiable state string which has two predefined values: running
and exited Its saved argument vector, only complete if the argv-trunca‐
tion flag is not set
Monitoring of processes by PSM is subject to the following rules: After
a process exits, termination status continues to be available until
either the process is restarted or you manually remove it. When a
process is restarted, any exited process instance in the target cate‐
gory is replaced by the new instance of the process. A specific
process instance is registered in only one category.
EVM Events
When you use PSM, the following EVM events are generated and become
available for subscription at the local node. Events are always posted
in the order that they occur: sys.unix.psm.set.create - This event is
available for subscription at the local host when you create a PSM set.
sys.unix.psm.set.remove - This event is available for subscription at
the local host when you remove a PSM set. sys.unix.psm.category.create
- This event is available for subscription at the host containing the
category name when you create a category. (See RESTRICTIONS.)
sys.unix.psm.category.remove - This event is available for subscription
at the host containing the category name when you remove a category.
sys.unix.psm.instance.create - This event is available for subscription
cluster-wide when you create a process instance. The event data con‐
tains the category name and the PID. sys.unix.psm.instance.remove -
This event is available for subscription cluster-wide when you remove a
running instance. The event data contains the category name and the
PID. sys.unix.psm.instance.exited - This event is available for sub‐
scription cluster-wide when a process instance exits. The event data
contains the category name, its PID, and its termination status.
See EVM(5) for information on how to retrieve these events. See
sys_attrs_psm(5) for information on tuning and configuring PSM subsys‐
tem attrributes.
RESTRICTIONS
The Kernel Set Manager (KSM) does not permit set removal. Once the PSM
module is loaded, it cannot be unloaded.
The KSM does not permit category removal.
ERRORS
If an attribute supports a range (-N to +N) any attempt to exceed the
maximum or minimum value returns an ENOSPC subsystem error.
Any attempt to re-register a currently running process causes an EAL‐
READY subsystem error.
Any attempt to remove a category returns an ENOTSUP subsystem error.
FILES
Location of the header file.
SEE ALSO
Commands: sysconfig(8), sysconfigdb(8)
Library: cfg_psm_catops(3), cfg_psm_memops(3), libcfg(3)
Misc: EVM(5), sys_attrs_psm(5)psm.h(4)