How can I monitor the CPU usage of one process over a period of time?

Go to the Performance Monitor. Right-click on the graph and select "Add Counters".

In the "Available counters" list, open the "Process" section by clicking on the down arrow next to it. Select "% Processor Time" (and any other counter you want).

In the "Instances of selected object" list, select the process you want to track. Then click on "Add >>". Click on OK once you have what you need.

This will give a graph of the CPU usage for the chosen application.


Another application that any Superuser should use is Process Explorer.

See in Mark Russinovich's technical blog the article The Case of the System Process CPU Spikes, where he tracked down a CPU spike caused by his network driver.