Here are summary of tools and well-know performance counters on Windows systems


Tools Provider Comment
 pslist, procexp, procmon … Microsoft sysinternals
Taskman MS Task manager
Perfmon MS Performance or System monitor
Wperf MS resource kit Performance meter
Showperf MS resource kit Performance data block dump utility.
Typeperf MS resource kit Displays real-time data from System Monitor counters in a command window.

Monitor service MS resource kit Enhance perfmon
Pview MS resource kit Process viewer
Pviewer MS resource kit Process viewer
Pmon MS resource kit Process monitor
Pfmon MS resource kit Page fault monitor
Pstat MS resource kit Process and threads  status
Ntimer MS resource kit Program timer
Exctrlst MS resource kit Perf Counters list
Lodctr or Unlodctr MS resource kit Load or Unload performance counters. Need <counters>.ini files. Lodctr perfftp.ini
Drivers MS resource kit List drivers loaded
Qslice MS resource kit Process and  system stats
Pulist MS resource kit Process list and remote list
Tlist MS resource kit Process list
Kill and rkill MS resource kit Kill remote processes
Ptree MS resource kit Process tree
Vadump MS resource kit Virtual address dump
Top MS resource kit Time-ordered processes
Verifier Windows 2000 only Driver verifier manager
SFC Windows 2000 only System file checker
Intfiltr MS resource kit Interrupt Filter Configuration tool
CPUstress MS resource kit Test CPU stress
WCAT Windows 2000 resource kit CDROM IIS Web Capacity Analysis tool. Client/Server simulations
WAS Windows 2000 resource kit CDROM Windows Application Stress tool. GUI application
Empty MS resource kit Clean memory’s process
Clearmem MS resource kit Clean all memory space
Depends MS resource kit Processes dependencies
OH,Gflags MS resource kit Object handles
DH MS resource kit Information about Heap allocation for user-mode processes or pool usage in kernel mode memory.
Diskpar MS resource kit Disk information
Heapmon MS resource kit Heap monitor
Kernprof MS resource kit Kernel profiler provides counters for and profiles of various functions of the Windows 2000 kernel.
Oleview MS resource kit OLE/COM object viewer
APIMon MS resource kit API monitor
Poolmon MS resource kit Cf:
Ntiogen Disk benchmark
Probe MS resource kit Benchmark scripts provided by MS
EM MS Debuggers Exception monitor
WinDBG, KD MS Debuggers Window debugger, Kernel debugger
Drwtsn32, userdump MS Debuggers User-mode debuggers
LiveKD Live Kernel Debugger
Procmon,Procexp, pslist… Well-known troubleshooting tools!

Main counters:

RAM means: physical pages

SWAP means: virtual pages on disk (pagefile.sys)

Task manager Performance monitor Comments
Physical Memory/Memory Usage Memory/Working set size per process RAM pages per process
Physical Memory/VM size Memory/Private bytes per process = Memory/Pagefilebytes per process SWAP pages per process
Memory/Virtualbytes per process = Memory/Privatebytes+RAM used = Committed bytes per process SWAP+RAM pages per process
Physical Memory/Total N/A Total RAM space used by processes and system
Physical Memory/Available Memory/Available bytes Free RAM space
Physical Memory/System cache Memory/Cache bytes and cache bytes peak Is in fact the NT-2000 system working set size (RAM used by the operating system)
Kernel Memory/Total N/A SWAP+Non swapped pages used by the OS
Kernel Memory/Paged Memory/Poolpagedbytes SWAP pages used by the operating system
Kernel Memory/Non Paged Memory/Nonpagedpool bytes Non swapped pages used by the operating system
Commit Charge/Total Memory/Committed bytes RAM in use and SWAP in use
Commit Charge/Commit limit Memory/Commit limit RAM+SWAP size
Commit Charge/Peak N/A RAM and SWAP in use PEAK value


Comparison between Task manager and performance monitor (perfmon):

Task manager Performance monitor Comments
PID ID process PID of the process
CPU Usage % process time The percentage of time the threads of the process used the processor since the last update.
CPU Time N/A The total processor time used by the process since it was started, in seconds.
Memory Usage Delta N/A The change in memory use since the last update, in kilobytes
Page Faults Page faults/sec is the rate of page faults over time. The number of times data had to be retrieved from disk for this process because it was not found in memory. This value is accumulated from the time the process is started.
Page Faults Delta N/A The change in the number of page faults since the last update
Base Priority Priority Base The base priority of the process, which determines the order in which its threads are scheduled for the processor.The base priority is set by the process code, not the operating system. The operating system sets and changes the dynamic priorities of threads in the process within the range of the base.
Handle Count Handle Count The number of object handles in the process’s object table