article Memory Consumption by Performance Counters

Related Documentation Version of up.time affected Affected Platforms
All Windows

The Windows agent gathers data by using Windows performance counters. When the monitoring station polls the up.time agent, the agent requests the required data from the performance counters, parses the appropriate information and returns the requested information to the monitoring station.

Since the up.time agent uses the performance counters to collect statistics, the memory consumed by the Windows counters is associated with the up.time agent binary. However, the memory is actually being consumed by the Windows operating system, which maintains the built-in performance counters.

Memory usage is generally only noticeable in large systems that are running hundreds of processes at any given time. The up.time agent registers the process performance counter that stores historical data for each process. Storing this information causes the RSS and memory size to increase so as the number of processes running on the system grows, the memory size and RSS will follow accordingly.

This scenario can be demonstrated by using standard Windows performance tools. Running perfmon.exe and loading all the appropriate process counters will recreate the same memory variant that you see with the up.time agent because the agent uses the same counters. The permon.exe utility will spawn a child process (mmc.exe) that will show the memory being consumed by the performance counters.

NOTE: Any tool that uses Windows performance counters will experience the same issue.

Recreating the scenario using perfmon.exe

Load perfmon.exe and add the counters listed below. After the counters have been successfully added, you can use up.time to monitor the memory usage growth.

Performance Counters

CPU

  1. Processor(_Total)% User Time
  2. Processor(_Total)% Privileged Time
  3. Processor(_Total)% Interrupt Time
  4. MemoryAvailable KBytes
  5. Paging File(_Total)% Usage
  6. SystemProcessor Queue Length
  7. MemoryCache Faults/sec
  8. MemoryPages Output/sec
  9. MemoryPage Writes/sec
  10. MemoryPages/sec
  11. MemoryPages Input/sec
  12. MemoryPage Faults/sec
  13. MemoryTransition Faults/sec
  14. SystemProcesses
  15. SystemSystem Calls/sec

Disk

  1. PhysicalDisk(<diskname>)% Disk Time
  2. PhysicalDisk(<diskname>)Current Disk Queue Length
  3. PhysicalDisk(<diskname>)Disk Transfers/sec
  4. PhysicalDisk(<diskname>)Avg. Transfers/sec
  5. PhysicalDisk(<diskname>)Disk bytes/sec
  6. PhysicalDisk(<diskname>)Avg. Disk sec/Transfer

Network

  1. NetworkInterface(<interface>)Bytes Received/sec
  2. NetworkInterface(<interface>)Bytes Sent/sec
  3. NetworkInterface(<interface>)Packets Received Errors
  4. NetworkInterface(<interface>)Packets Outbound Errors
  5. TCPSegments Retransmitted/sec

Process

  1. Process(<processname>)ID Process
  2. Process(<processname>)Creating Process IF
  3. Process(<processname>)Virtual Bytes
  4. Process(<processname>)Working Set
  5. Process(<processname>)% Processor Time
  6. Process(<processname>)Elapsed Time

Exchange Counters

  1. MSExchange Web MailMessages send per sec
  2. MSExchange Web MailAuthentications per sec
  3. MSExchangeIMAP4Connections Current
  4. MSExchangePOP3Connections Current
  5. SMTP RoutingConnectionCount
  6. SMTP ServerBytes Sent/sec
  7. SMTP ServerBytes Received/sec
  8. SMTP ServerBytes Total/sec
  9. SMTP ServerLocal Queue Length
  10. SMTP ServerMessages Sent/sec
  11. SMTP ServerInbound Connections Current
  12. SMTP ServerOutbound Connections Current
  13. SMTP Connection Errors/sec

SQL Server Counters

  1. SQLServer:General StatisticsUser Connections
  2. SQLServer:LocksLock Waits/sec
  3. SQLServer:LocksLock Requests/sec
  4. SQLServer:LocksAverage Wait Time(ms)
  5. SQLServer:DatabasesTransactions/sec
  6. SQLServer:DatabasesData File(s) Size(KB)
  7. SQLServer:LatchesTotal Latch Wait Time(ms)
  8. SQLServer:LatchesLatch Waits/sec
  9. SQLServer:Average Latch Wait Time(ms)
  10. SQLServer:Memory ManagerMaximum Workspace Memory(KB)
  11. SQLServer:Memory ManagerGranted Workspace Memory(KB)
  12. SQLServer:Memory ManagerSQL Cache Memory(KB)
  13. SQLServer:Memory ManagerTotal Server Memory(KB)

Related Articles


Rebuilding Windows Performance Counters

RatingViews
article

This article points you to resources that will help you rebuild corrupted Windows counters.

By: uptime Support | Date Created: 4-16-2007 | Last Modified: 11-4-2013 | Index: 162

  47607

Windows Agent Perflib Errors

RatingViews
article

By: uptime Support | Date Created: 10-17-2005 | Last Modified: 7-11-2011 | Index: 014

  14100

Limited Performance Data Available

RatingViews
article

By: uptime Support | Date Created: 6-15-2006 | Last Modified: 1-16-2013 | Index: 082

  10315

VMware ESX client and up.time show different memory values

RatingViews
article

You may notice that the VMware Virtual Infrastructure Client memory graph doesn't match the memory values shown in up.time. This is because the default VMware graphs display a different metric than...

By: uptime Support | Date Created: 12-31-1969 | Last Modified: 8-31-2011 | Index: 312

  3366

Using -server option to optimize Java memory usage

RatingViews
article

Setting the -server Java option will enable the up.time core to use the server JVM, which has enhanced performance and stability for applications that stay running for long periods of time (such as...

By: uptime Support | Date Created: 7-12-2011 | Last Modified: 2-1-2013 | Index: 544

  2964

User Comments



No comments have been posted.

Copyright © 2021 IDERA, Inc.   Legal   Privacy Statement