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.
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
- Windows Device Driver Kit
MS Windows 2003
- Windows Server 2003 Resource Kit
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
- 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”
- Download “Link“
- Install “Windows Server 2003 Resource Kit Tools”
- Note install folder
To execute the installed Application, please do the following:
- Start Command Shell
- Using cmd.exe in administrator mode
- 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.
- 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
Once CTRL-C is pressed, here is what we see:
- The Case of the System Process CPU Spikes
- Analyze Driver Performance
- Kernrate User Guide
- Where in the World is KernRate?
- How to troubleshoot high CPU in the System Process
- Nynaeve – An Introduction to Kernrate
- Kernrate Utility RtlAdjustPrivilege Error
- System CPU Usage
- Troubleshooting CPU Spikes in the System Process (Ricardo Vicente)
- 3 Steps to TroubleShooting Device Drivers