Next: The program, Previous: Intro, Up: Top [Contents][Index]
Let’s assume you start hostproc
on host ‘example.org’
without configuration file and the snmpd
daemon is
configured to work with agentx. The OIDs describing processes that
run on the host are described in ‘HOSTPROC-MIB’. The following
command outputs the entire tree:
snmpwalk -Os example.org HOSTPROC-MIB::hostprocMIB
(see HOSTPROC-MIB, for the formal definition of the MIB). In this chapter we will discuss each OID instance in detail.
The output begins with the following two instances:
hostprocUpTime.0 = Timeticks: (90399) 0:15:03.99 processGroupModify.0 = ""
The hostprocUpTime
object represents the time since the daemon has
been started. Client programs can use its value to check if the
cached indices need to be invalidated.
The processGroupModify
object is a management write-only object
that allows the administrator to modify the registered process groups.
It will be discussed in detail later (see Remote management).
What follows is a table of processes currently running on the host. Each conceptual row contains details for a single process. Rows are indexed by the PID of the process. The listing below presents only the two first rows, for brevity:
processPID.1 = INTEGER: 1 processPID.509 = INTEGER: 509 … processPPID.1 = INTEGER: 0 processPPID.509 = INTEGER: 1 … processUID.1 = INTEGER: 0 processUID.509 = INTEGER: 0 … processGID.1 = INTEGER: 0 processGID.509 = INTEGER: 0 …
These objects are, supposedly, self-explanatory. They represent the process PID (arguably superfluous, since PID is used as the index in this table), parent PID (0 means none), real UID and GID of the process.
The objects that follow describe the CPU usage (percent) and the amount of time the process has been scheduled:
processCPUAvg.1 = Gauge32: 1 processCPUAvg.509 = Gauge32: 0 … processCPUInst.0 = Gauge32: 5 processCPUInst.1 = Gauge32: 1 … processTime.1 = Timeticks: (187) 0:00:01.87 processTime.509 = Timeticks: (5) 0:00:00.05 …
The processCPUAvg
object shows the average CPU usage since when
the program started. The processCPUInst
object shows the
instantaneous CPU usage measured during the most recent process scan.
The state of the process is represented by a single letter:
processState.1 = STRING: S processState.509 = STRING: S …
The possible values are:
R | Running. |
S | Sleeping in an interruptible wait. |
D | Waiting in uninterruptible disk sleep. |
Z | Zombie. |
T | Stopped on a signal. |
t | Tracing stop. |
X | Dead. |
The next pair of objects represents the nice value and the process priority:
processNice.1 = INTEGER: 0 processNice.509 = INTEGER: 0 … processPriority.1 = INTEGER: 20 processPriority.509 = INTEGER: 20 …
It is followed by two objects reflecting the actual size of virtual memory occupied by the process and its resident size:
processVSZ.1 = Gauge32: 4364 kB processVSZ.509 = Gauge32: 30372 kB … processRSS.1 = Gauge32: 28 kB processRSS.509 = Gauge32: 1156 kB …
The last three objects in the process list are the process program
name (argv[0]
), its command line and the executable file name:
processComm.1 = STRING: init processComm.509 = STRING: udevd … processCmdline.1 = STRING: 'init [3]' processCmdline.509 = STRING: /sbin/udevd --daemon … processExe.1 = STRING: /sbin/init processExe.509 = STRING: /sbin/udevd …
• Process groups | ||
• Process Exclusion Groups | ||
• Memory information |
Next: The program, Previous: Intro, Up: Top [Contents][Index]