Process Metrics

Process.Count(processName)

Number of running processes matching the given name.

Data Type

Integer (Unsigned Integer on NetBSD and OpenBSD)

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD, OpenBSD

Table 1. Arguments
Argument Type Description

processName

String

Process name to match

Example
Process.Count(httpd)

Process.CountEx(processName)

Extended process count with optional filtering by command line, owner, and window title.

Data Type

Integer (Unsigned Integer on NetBSD)

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD

Table 2. Arguments
Argument Type Description

processName

String

Process name

cmdLine

String

Command line regular expression (optional). Matches against the full command line. If not set, matches any command line.

userName

String

Process owner username regular expression (optional). If not set, matches any user.

windowTitle

String

Window title regular expression (optional, Windows only). If not set, matches any window title.

Examples
Process.CountEx(httpd)
Process.CountEx(java,.*-server.*)
Process.CountEx(python,.*myapp.*,appuser)

Process.CPUTime(processName)

Total CPU time consumed by matching processes (milliseconds).

Data Type

Counter 64 (Integer 64 on NetBSD)

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD

See common process metric arguments for argument details.

Process.GDIObjects(processName)

Number of GDI objects used by matching processes.

Data Type

Integer 64

Platforms

Windows

See common process metric arguments for argument details.

Process.Handles(processName)

Number of open handles or file descriptors for matching processes.

Data Type

Integer

Platforms

Linux, Windows, Solaris, AIX

See common process metric arguments for argument details.

Process.IO.OtherB(processName)

Other I/O bytes transferred by matching processes.

Data Type

Counter 64

Platforms

Windows

See common process metric arguments for argument details.

Process.IO.OtherOp(processName)

Other I/O operations performed by matching processes.

Data Type

Counter 64

Platforms

Windows

See common process metric arguments for argument details.

Process.IO.ReadB(processName)

Bytes read by matching processes.

Data Type

Counter 64

Platforms

Windows

See common process metric arguments for argument details.

Process.IO.ReadOp(processName)

Read operations performed by matching processes.

Data Type

Counter 64

Platforms

Windows, AIX

See common process metric arguments for argument details.

Process.IO.WriteB(processName)

Bytes written by matching processes.

Data Type

Counter 64

Platforms

Windows

See common process metric arguments for argument details.

Process.IO.WriteOp(processName)

Write operations performed by matching processes.

Data Type

Counter 64

Platforms

Windows, AIX

See common process metric arguments for argument details.

Process.KernelTime(processName)

Kernel mode CPU time consumed by matching processes (milliseconds).

Data Type

Counter 64 (Integer 64 on NetBSD)

Platforms

Linux, Windows, Solaris, AIX, NetBSD

See common process metric arguments for argument details.

Process.MemoryUsage(processName)

Memory usage as a percentage of total system memory for matching processes.

Data Type

Float

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD

See common process metric arguments for argument details.

Process.PageFaults(processName)

Number of page faults for matching processes.

Data Type

Counter 64 (Integer 64 on NetBSD)

Platforms

Linux, Windows, Solaris, AIX, NetBSD

See common process metric arguments for argument details.

Process.PrivateMemoryUsage(processName)

Since 6.2.4

Private memory of matching processes as a percentage of total physical memory. It is Process.PrivateRSS() expressed as a percentage, so the platform differences listed there apply. Unlike Process.MemoryUsage(), it is meant to be summed across processes; see Process.PrivateRSS(*) for how far that holds.

Data Type

Float

Platforms

Linux, Windows, macOS, Solaris, FreeBSD

See common process metric arguments for argument details.

Process.PrivateRSS(processName)

Since 6.2.4

Estimated memory private to matching processes, in bytes. Unlike Process.RSS(*), it leaves out shared libraries and (except on Solaris) shared memory segments, so the value of a multi-process application can be summed without counting them once per process. The estimate depends on the platform:

Platform Source

Linux

Resident pages minus file-backed and shared memory pages (/proc/<pid>/statm)

Windows

Private commit charge (PrivateUsage); includes private pages that are paged out

macOS

Physical footprint (phys_footprint)

Solaris

Resident anonymous pages (/proc/<pid>/xmap), including shared anonymous mappings: a shared memory segment counts toward every process that maps it (known issue, netxms#3844)

FreeBSD

Private resident pages of the process VM map

On Linux and Solaris, anonymous pages that a forked process still shares copy-on-write with its parent count toward each process, so a sum over a forking server can still overstate its memory use.

Data Type

Integer 64

Platforms

Linux, Windows, macOS, Solaris, FreeBSD

See common process metric arguments for argument details.

Process.RSS(processName)

Resident set size in bytes for matching processes. Alias for Process.WkSet(*).

Data Type

Integer 64

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD

See common process metric arguments for argument details.

Process.Syscalls(processName)

Number of system calls made by matching processes.

Data Type

Counter 64

Platforms

Solaris

See common process metric arguments for argument details.

Process.Threads(processName)

Number of threads for matching processes.

Data Type

Integer (Integer 64 on NetBSD)

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD

See common process metric arguments for argument details.

Process.UserObjects(processName)

Number of USER objects used by matching processes.

Data Type

Integer 64

Platforms

Windows

See common process metric arguments for argument details.

Process.UserTime(processName)

User mode CPU time consumed by matching processes (milliseconds).

Data Type

Counter 64 (Integer 64 on NetBSD)

Platforms

Linux, Windows, Solaris, AIX, NetBSD

See common process metric arguments for argument details.

Process.VMRegions(processName)

Number of virtual memory regions for matching processes.

Data Type

Integer

Platforms

Linux

See common process metric arguments for argument details.

Process.VMSize(processName)

Virtual memory size in bytes for matching processes.

Data Type

Integer 64

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD

See common process metric arguments for argument details.

Process.WkSet(processName)

Working set size in bytes for matching processes.

Data Type

Integer 64

Platforms

Linux, Windows, macOS, Solaris, AIX, FreeBSD, NetBSD

See common process metric arguments for argument details.

Process.ZombieCount(processName)

Number of zombie processes. Without arguments, counts all zombie processes; with the optional process name argument, counts only zombie processes matching the given name.

Data Type

Integer

Platforms

Solaris

Table 3. Arguments
Argument Type Description

processName

String

Process name to match (optional)

Common Process Metric Arguments

Most process metrics (except Process.Count and Process.CountEx) accept the following arguments:

Table 4. Arguments
Argument Type Description

processName

String

Process name

function

String

Aggregation function when multiple processes match. Default: sum. Options: min, max, avg, sum.

cmdLine

String

Command line regular expression (optional). If not set, matches any command line.

userName

String

Process owner username regular expression (optional). If not set, matches any user.

windowTitle

String

Window title regular expression (optional, Windows only). If not set, matches any window title.

Examples
Process.VMSize(java)
Process.CPUTime(httpd,max)
Process.Handles(python,sum,.*myapp.*)
Process.MemoryUsage(node,avg,,appuser)