This documentation is archived and is not being maintained.

PerformanceCounter.PerformanceCounter() Constructor

Initializes a new, read-only instance of the PerformanceCounter class, without associating the instance with any system or custom performance counter.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

public PerformanceCounter ()
public PerformanceCounter ()
public function PerformanceCounter ()
Not applicable.

Exception typeCondition


The platform is Windows 98 or Windows Millennium Edition (Me), which does not support performance counters.

This overload of the constructor sets the CategoryName, CounterName, and InstanceName properties to empty strings (""), and sets the MachineName property to the local computer, (".").

This constructor does not initialize the performance counter, so it does not associate the instance with an existing counter on the local computer. To point to a specific performance counter, set the CategoryName, CounterName, and, optionally, the InstanceName and MachineName properties before reading any other properties or attempting to read from a counter. To write to a performance counter, set the ReadOnly property to false.


The HostProtectionAttribute attribute applied to this member has the following Resources property value: Synchronization | SharedState. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

The following code example creates a default instance of the PerformanceCounter class. After the instance is created, the CategoryName, CounterName, and InstanceName property values are set, and the results of a call to the NextValue method are displayed.

PerformanceCounter PC=new PerformanceCounter();
PC.CounterName="Private Bytes";

PerformanceCounter pc = new PerformanceCounter();
pc.set_CounterName("Private Bytes");

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0