Win32_PerfRawData_PerfProc_Process class

The Win32_PerfRawData_PerfProc_Process raw performance data class provides raw data from performance counters that monitor running application program and system processes. All the threads in a process share the same address space and have access to the same data.

This class represents the Process object in System Monitor. The original data source is the PerfProc performance library. The corresponding formatted data class is Win32_PerfFormattedData_PerfProc_Process. Data is dynamically provided for this class from the performance library object by the WmiPerfInst provider.

Windows Server 2003 and Windows XP: WMI data for this class is supplied by the Performance Counter Provider.

The following syntax is simplified from MOF code and shows all inherited properties, including the Frequency and Timestamp properties required for class display in System Monitor. For more information about required property qualifiers, see Property Qualifiers for Performance Counter Classes. For more information about CounterType values, see WMI Performance Counter Types.

Syntax

class Win32_PerfRawData_PerfProc_Process : Win32_PerfRawData
{
  string Caption;
  uint32 CreatingProcessID;
  string Description;
  uint64 ElapsedTime;
  uint64 Frequency_Object;
  uint64 Frequency_PerfTime;
  uint64 Frequency_Sys100NS;
  uint32 HandleCount;
  uint32 IDProcess;
  uint64 IODataOperationsPerSec;
  uint64 IOOtherOperationsPerSec;
  uint64 IOReadBytesPerSec;
  uint64 IOReadOperationsPerSec;
  uint64 IOWriteBytesPerSec;
  uint64 IOWriteOperationsPerSec;
  uint64 IODataBytesPerSec;
  uint64 IOOtherBytesPerSec;
  string Name;
  uint32 PageFaultsPerSec;
  uint64 PageFileBytes;
  uint64 PageFileBytesPeak;
  uint64 PercentPrivilegedTime;
  uint64 PercentProcessorTime;
  uint64 PercentUserTime;
  uint32 PoolNonpagedBytes;
  uint32 PoolPagedBytes;
  uint32 PriorityBase;
  uint64 PrivateBytes;
  uint32 ThreadCount;
  uint64 Timestamp_Object;
  uint64 Timestamp_PerfTime;
  uint64 Timestamp_Sys100NS;
  uint64 VirtualBytes;
  uint64 VirtualBytesPeak;
  uint64 WorkingSet;
  uint64 WorkingSetPeak;
};

Members

The Win32_PerfRawData_PerfProc_Process class has these types of members:

  • Properties

Properties

The Win32_PerfRawData_PerfProc_Process class has these properties.

Caption

Data type: string

Access type: Read-only

Short textual description for the statistic or metric. This property is inherited from CIM_StatisticalInformation.

CreatingProcessID

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Creating Process ID") , CounterType (65536) , DefaultScale (-1) , PerfDetail (100)

Process ID of the process that created the process. Be aware that the creating process may have terminated after this process was created and so this value may no longer identify a running process.

Description

Data type: string

Access type: Read-only

Textual description of the statistic or metric. This property is inherited from CIM_StatisticalInformation.

ElapsedTime

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Elapsed Time") , CounterType (807666944) , DefaultScale (-4) , PerfDetail (200)

Elapsed time in seconds this process has been running.

For more information about using uint64 values in scripts, see Scripting in WMI.

Frequency_Object

Data type: uint64

Access type: Read-only

Frequency, in ticks per second, of Timestamp_Object. This property is defined by the provider. This property is inherited from Win32_Perf.

For more information about using uint64 values in scripts, see Scripting in WMI.

Frequency_PerfTime

Data type: uint64

Access type: Read-only

Frequency, in ticks per second, of Timestamp_Perftime. A value can be obtained by calling the Windows function QueryPerformanceCounter. This property is inherited from Win32_Perf.

For more information about using uint64 values in scripts, see Scripting in WMI.

Frequency_Sys100NS

Data type: uint64

Access type: Read-only

Frequency, in ticks per second, of Timestamp_Sys100NS (10000000). This property is inherited from Win32_Perf.

For more information about using uint64 values in scripts, see Scripting in WMI.

HandleCount

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Handle Count") , CounterType (65536) , DefaultScale (0) , PerfDetail (200)

Total number of handles the process has open. This number is the sum of the handles currently open by each thread in the process.

IDProcess

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("ID Process") , CounterType (65536) , DefaultScale (-1) , PerfDetail (100)

Unique identifier of this process. Values for this property are reused, so they only identify a process for the lifetime of that process.

IODataBytesPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Data Bytes/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is reading and writing bytes in I/O operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IODataOperationsPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Data Operations/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is issuing read and write I/O operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IOOtherBytesPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Other Bytes/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is issuing bytes to I/O operations that don not involve data such as control operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IOOtherOperationsPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Other Operations/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is issuing I/O operations that are neither a read or a write request. An example of this type of operation would be a control function. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IOReadBytesPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Read Bytes/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is reading bytes from I/O operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IOReadOperationsPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Read Operations/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is issuing read I/O operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IOWriteBytesPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Write Bytes/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is writing bytes to I/O operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

IOWriteOperationsPerSec

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("IO Write Operations/sec") , CounterType (272696576) , DefaultScale (0) , PerfDetail (200)

Rate at which the process is issuing write I/O operations. This property counts all I/O activity generated by the process to include file, network, and device I/Os.

For more information about using uint64 values in scripts, see Scripting in WMI.

Name

Data type: string

Access type: Read-only

Qualifiers: Key, MaxLen (256)

Label by which the statistic or metric is known. When sub-classed, the property can be overridden to be a key property. This property is inherited from CIM_StatisticalInformation.

PageFaultsPerSec

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Page Faults/sec") , CounterType (272696320) , DefaultScale (-1) , PerfDetail (100)

Rate of page faults by the threads executing in this process. A page fault occurs when a thread refers to a virtual memory page that is not in its working set in main memory. This can cause the page not to be fetched from disk if it is on the standby list and hence already in main memory, or if it is in use by another process with which the page is shared.

PageFileBytes

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Page File Bytes") , CounterType (65792) , DefaultScale (-6) , PerfDetail (200)

Current number of bytes this process has used in the paging file(s). Paging files are used to store pages of memory used by the process that are not contained in other files. Paging files are shared by all processes, and lack of space in paging files can prevent other processes from allocating memory.

For more information about using uint64 values in scripts, see Scripting in WMI.

PageFileBytesPeak

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Page File Bytes Peak") , CounterType (65792) , DefaultScale (-6) , PerfDetail (200)

Maximum number of bytes this process has used in the paging file(s). Paging files are used to store pages of memory used by the process that are not contained in other files. Paging files are shared by all processes, and lack of space in paging files can prevent other processes from allocating memory.

For more information about using uint64 values in scripts, see Scripting in WMI.

PercentPrivilegedTime

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("% Privileged Time") , CounterType (542180608) , DefaultScale (0) , PerfDetail (200)

Percentage of elapsed time that this thread has spent executing code in privileged mode. When the operating system system service is called, the service often runs in privileged mode to gain access to system-private data. Such data is protected from access by threads executing in user mode. Calls to the system can be explicit or implicit such as page faults and interrupts. Unlike some early operating systems, the operating system uses process boundaries for subsystem protection in addition to the traditional protection of user and privileged modes. These subsystem processes provide additional protection. Therefore, some work done by the operating system on behalf of your application might appear in other subsystem processes in addition to the privileged time in your process.

For more information about using uint64 values in scripts, see Scripting in WMI.

PercentProcessorTime

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("% Processor Time") , PerfDefault, CounterType (542180608) , DefaultScale (0) , PerfDetail (100)

Returns elapsed time that all of the threads of this process used the processor to execute instructions in 100 nanoseconds ticks. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions is included in this count.

For more information about using uint64 values in scripts, see Scripting in WMI.

PercentUserTime

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("% User Time") , CounterType (542180608) , DefaultScale (0) , PerfDetail (200)

Percentage of elapsed time that this process's threads have spent executing code in user mode. Applications, environment subsystems and integral subsystems execute in user mode. Code executing in user mode cannot damage the integrity of the operating system executive, kernel, and device drivers. The operating system uses process boundaries for subsystem protection in addition to the traditional protection of user and privileged modes. These subsystem processes provide additional protection. Therefore, some work done by the operating system on behalf of your application might appear in other subsystem processes in addition to the privileged time in your process.

For more information about using uint64 values in scripts, see Scripting in WMI.

PoolNonpagedBytes

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Pool Nonpaged Bytes") , CounterType (65536) , DefaultScale (-5) , PerfDetail (200)

Pool Nonpaged Bytes is the number of bytes in the nonpaged pool, an area of system memory (physical memory used by the operating system) for objects that cannot be written to disk, but must remain in physical memory as long as they are allocated. Pool Nonpaged Bytes in Win32_PerfRawData_PerfOS_Memory is calculated differently than PoolPagedBytes in Win32_PerfRawData_PerfProc_Process, so it might not equal the total of PoolPagedBytes for all instances of Win32_PerfRawData_PerfProc_Process. This property displays the last observed value only; it is not an average.

PoolPagedBytes

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Pool Paged Bytes") , CounterType (65536) , PerfIndex (56) , HelpIndex (57) , DefaultScale (-5) , PerfDetail (200)

Number of bytes in the paged pool, an area of system memory (physical memory used by the operating system) for objects that can be written to disk when they are not being used. The PoolNonpagedBytes property in Win32_PerfFormattedData_PerfOS_Memory is calculated differently than the PoolPagedBytes property in Win32_PerfFormattedData_PerfProc_Process, so it might not equal the total of PoolPagedBytes for all instances of Win32_PerfFormattedData_PerfProc_Process. This property displays the last observed value only; it is not an average.

PriorityBase

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Priority Base") , CounterType (65536) , DefaultScale (0) , PerfDetail (200)

Current base priority of this process. Threads within a process can raise and lower their own base priority relative to the process base priority of the process.

PrivateBytes

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Private Bytes") , CounterType (65792) , DefaultScale (-5) , PerfDetail (200)

Current number of bytes this process has allocated that cannot be shared with other processes.

For more information about using uint64 values in scripts, see Scripting in WMI.

ThreadCount

Data type: uint32

Access type: Read-only

Qualifiers: DisplayName ("Thread Count") , CounterType (65536) , DefaultScale (0) , PerfDetail (200)

Number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.

Timestamp_Object

Data type: uint64

Access type: Read-only

Object-defined timestamp, defined by the provider. This property is inherited from Win32_Perf.

For more information about using uint64 values in scripts, see Scripting in WMI.

Timestamp_PerfTime

Data type: uint64

Access type: Read-only

High Performance counter timestamp. A value can be obtained by calling the Windows function QueryPerformanceCounter. This property is inherited from Win32_Perf.

For more information about using uint64 values in scripts, see Scripting in WMI.

Timestamp_Sys100NS

Data type: uint64

Access type: Read-only

Timestamp value in 100 nanosecond units. This property is inherited from Win32_Perf.

For more information about using uint64 values in scripts, see Scripting in WMI.

VirtualBytes

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Virtual Bytes") , CounterType (65792) , DefaultScale (-6) , PerfDetail (300)

Current size, in bytes, of the virtual address space that the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite and, by using too much, the process can limit its ability to load libraries.

For more information about using uint64 values in scripts, see Scripting in WMI.

VirtualBytesPeak

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Virtual Bytes Peak") , CounterType (65792) , DefaultScale (-6) , PerfDetail (300)

Maximum number of bytes of virtual address space that the process has used at any one time. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite and, by using too much, the process might limit its ability to load libraries.

For more information about using uint64 values in scripts, see Scripting in WMI.

WorkingSet

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Working Set") , CounterType (65792) , DefaultScale (-5) , PerfDetail (100)

Maximum number of bytes in the working set of this process at any point in time. The working set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the working set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from working sets. If they are needed, they are then soft-faulted back into the working set before they leave main memory.

For more information about using uint64 values in scripts, see Scripting in WMI.

WorkingSetPeak

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Working Set Peak") , CounterType (65792) , DefaultScale (-5) , PerfDetail (200)

Maximum number of bytes in the working set of this process at any point in time. The working set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the working set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from working sets. If they are required, they are then soft-faulted back into the working set before they leave main memory.

For more information about using uint64 values in scripts, see Scripting in WMI.

Remarks

All classes derived from Win32_Perf are designed to be used with a refresher object. For more information about how to create and use a refresher object in C++, see Accessing Performance Data in C++. For more information about how to create and use a refresher object using scripts, see Refreshing WMI Data in Scripts.

The performance class and property qualifiers determine how to interpret the class data. For more information, see Class Qualifiers for Performance Counter Classes and Property Qualifiers for Performance Counter Classes.

Examples

For script code examples, see WMI Tasks for Scripts and Applications and the TechNet ScriptCenter Script Repository.

For C++ code examples, see WMI C++ Application Examples.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Namespace

\root\CIMV2

DLL

WmiPerfInst.dll; WbemPerf.dll on Windows Server 2003 and Windows XP

See also

Performance Counter Classes

Accessing WMI Preinstalled Performance Classes

WMI Tasks: Performance Monitoring

Accessing Performance Data in Script