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.


Parameter Description
 -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


Environment Information:



  • 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


Output Result:

Once CTRL-C is pressed, here is what we see:

Overall Summary:








5 thoughts on “Microsoft – Windows – Performance Tools – Kernrate

  1. First of all thank you for your instructive post.

    However, I am having a problem for wich I haven’t found an answer anywhere on the net, i would really appreciate it if you might know something about it:

    i have now finally found and downloaded the kernrate that is compatibe with my x64 system, and it works, i open it and wait but when I press ctrl+c do collet the data the programm just closes almost instantly, so i can’t see the result..
    And i am thinking that maybe the data log is stored in a folder, it would make sense, but i have no idea in which one it might be stored, i searched in all the folders that might contain the data but found nothing.

    I believe a driver is hogging my CPU but I just can’t find out which one without kernrate as far as i know, so any help would be greatly appreciated :D

  2. Thank you very much for your quick response, wow, since the post was kind of old i wasn’t even expecting an answer at all ! :D

    I am also using windows 7 on a local machine..

    Maybe I should explain a little bit more : when i press ctrl-c, the program shows the results, but only for half a second until it scrolls down to the end (where it says “end of run”), then it immediately closes..
    So this leaves me no time to see anything, and since the program doesn’t seem to be saving the results somewhere, it doesn’t help me..

    Is there really no folder where kernrate keeps the collected data in some basic text document??

    Meanwhile I will check out the other tool tough, and come back here to keep you informed.

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