Microsoft – Windows – Performance Tools – Kernrate

Microsoft – Windows – Performance Tools – Kernrate


Reading through Mark Russinovich’s Blog I got a wind of Kernrate.  The specific Blog is

“The Case of the System Process CPU Spikes”. ).

Kernrate tool allows one to Profile Applications & Device Drivers CPU Usage \

Consumption.  It accomplishes this by measuring code as it makes it with through the

OS\Windows Kernel.

Installation Media

Depending of your OS, there are a couple of avenues to get KernRate.

Windows 7 • Windows Server 2008 • Windows Server 2008 R2 • Windows Vista (all versions) • Windows Server 2003 with Service Pack 1 (SP1) or later • Windows Server 2003 x64 editions • Windows XP Service Pack 3 (SP3) or later

MS Windows 2003 –


Windows Device Kit

Download & Extract

  • Once downloaded you will have a copy of GRMWDK_EN_7600_1.ISO
  • Extract the ISO File (BTW, 7-Zip is a good tool for extracting compressed files)
  • Run kitsetup.exe
  • Install Steps

Install Steps

  • Choose the following features [Tools & Help (Documentation Collection)]
  • Press OK once you ‘re satisfied with your selection
  • Choose the “Install Path” – In our case, we selected “D:\WinDDK\7600.16385.1\”
  • End-User License Agreement – Agree to the “License Agreement”
  • During the Install, the progress of the Install is indicated from an “Install Progress” bar
  • Once Install is completed indicated through the 100% Complete Indicator, click on the “Finish” button

Installation – Windows Server 2003 Resource Kit Tools

If you choose to install via “Windows Server 2003 Resource Kit Tools”


To execute the installed Application, please do the following:

  • Depending on the “Install Location” selected during the Installation, proceed to the base of the Install
  • Navigate to Tools\Other folder
  • Depending on your “Processor & OS Architecture”, choose from the following choices – amd64 (64-bit Intel or AMD Architecture), i386 ( 32-bit), ia64 (Itanium [HP\Intel Collaboration).
  • Execute kernrate.exe

Allow the System to run for at least 15 minutes or so.  Try your best to have it running
while the system is under heavy load.

Once you think you have generated enough data, press Ctrl-C to terminate your kernrate session.

The Application quickly aggregates and shows the captured data.


-a By Default only system apps are monitored, to review user Processes, try the -a option
-n When the -a option is specified and user processes are profiled as well, you can use the -n option to filter on specific process names
-s This allows the user to specify duration in seconds. Otherwise, issue control-break to end session
-yo Creates an ASCII output file
-yr Creates a binary output file; this is usable to companion products such as krview
-z To zero-in or zoom-in on specific apps, use the -z option


  • Machine Hardware make-up – Number of Processors (note that the number reported is not the number of physical processors, but Logical Processors), Physical Architecture (AMD64, Intel, etc), Physical Memory, PageFile, PageFile location, OS Version, etc.
  • Listing of any parameters passed to Kernrate
  • Processor Utilization breakdown for each time-slice that was measured – Kernel, User (Application),  Idle, DPC, Interrupt
  • Summarized Stats for “Available Physical Memory”, “Available Pagefile”, “Available Virtual”, Non-Paged, Paged Pool, Free System PTE
  • Summarized Stats for “Context Switches”, “System Calls”, “Page Faults”, “I/O Reads”, “I/O Writes”
  • Percentile breakdown for each Module that was operated on by the Kernel Code       


  • Local Security Policies \ “Profile System Performance”  – If not granted then the following error message: 0xc0000061 –> “STATUS_PRIVILEGE_NOT_HELD” is displayed


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s