

It’s quite possible for your CPU to be doing “nothing” while your disk thrashes.

Let’s start by clarifying the CPU-usage issue. We’ll look at using Process Monitor to see if we can determine just exactly who’s doing what to your machine. FileMon has been replaced by a significantly more powerful utility, Process Monitor. In the past, I’ve recommended a tool called FileMon to determine what’s been writing to your disk. Your assumption that CPU usage is telling you something is incorrect. This tool can really assist you in determining the impact your application will have on the target system.One thing I can tell you is, it’s not outside of Windows. There’s more info to be found here than I can describe in this brief blog post. Lots of great info in this area, below I’ve pasted the Memory stats, just to give you an idea. Click on the drop down (shown below) and you can see a list of the various performance counters you can view. The Performance tab gives you similar information, only in a textual view. Great tool for monitoring your program, looking at memory usage, CPU usage, etc. This produces graphs similar to the ones Task Manager gives you, only this is targeted at just this particular app. There’s lots of tabs you can click on, I’ll highlight a couple of the most useful ones. You can kill off the program, or bring it to the foreground. You can see a new dialog with detailed info about the program. Cool, but there’s more! Double click on the app line (again, the yellow line with PaintDotNet). Way cool huh? You can see all the dependencies needed by your (or someone elses) program. What you are seeing is a long list of all the DLLs loaded by your app. You’ll see the lower pane populate, as in the picture below. Click on one of the yellow bars (in this case I picked PaintDotNet). The yellow (and these colors are customizeable) indicates this is a. See the image above, there are two processes that are highlighted in yellow. OK, now here’s something really cool, especially for you. Then select View, Lower Pane View, and pick DLLs. Version is also useful, you may find more that have meaning for you. The most useful of these would be Path, which shows the disk location the exe or dll launched from. After running it the first time, right click on the column bars and pick “Select Columns”, then add a few more useful columns. ProcExp is a process explorer that gives you all sorts of details about the jobs running on your system. If there was one of these tools that would make you drool, then this would be it.
