Next: , Previous: , Up: Top   [Contents][Index]


2 Overview

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:

RRunning.
SSleeping in an interruptible wait.
DWaiting in uninterruptible disk sleep.
ZZombie.
TStopped on a signal.
tTracing stop.
XDead.

Table 2.1: Process State Letters

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
…

Next: , Previous: , Up: Top   [Contents][Index]