Tracking down why that application is slow

Do you have an application such as AutoCAD that is displaying any of the following symptoms?

  • Starting up slower than normal?
  • Running slower than normal?
  • Long delays when you try to run a particular function, like save, open, or plot?

If you have already ruled out typical suspects such as a virus, spyware, malware, hardware limitations, etc., then there is a good chance that maybe the application is simply looking for something that isn’t there. Windows and windows applications like to search for things for what seems like an eternity. So how can you find out what is going on behind the scenes?

I’ve been using Process Monitor (previously known as FileMon) for years to view file activity in real-time. Many times you can spot a missing file or path that your application is looking for. Process Monitor was originally developed and released (as FileMon) by Winternals Software, however in July 2006, Microsoft acquired Winternals Software and now Process Monitor and other similar tools are available at http://technet.microsoft.com/en-US/sysinternals

Process Monitor and most of the other “sysinternals” tools are simple yet powerful, require no installation, very small in size, and best of all, free. After you download the program), unzip the contents. You can unzip the contents to a flash drive if you want it to be portable or you can simply unzip it into a local directory like %userprofile%\ProcessMonitor . You will end up with 3 files. An executable, a help file, and the EULA. Run the executable (procmon.exe) to get started. The first thing you should see is the “Process Monitor Filter” dialog. Here you can include, exclude, and highlight certain strings. For now, don’t change anything, just press OK.

procmon-filter

Now, depending on what applications you have running, you will see a variety of file activity going on. Even if it seems like your computer is idle, there may still be quite a lot of file activity happening. Things like virus checkers, media players, email applications, etc. may be working away even though they seem idle. Now that you have seen what this tool does, how can you use it to find out what is slowing you down?

Let’s say your AutoCAD takes a long time to start up. Begin by filtering out all other file activity. Press Ctrl+L to open the filter dialog again. At the top of the dialog choose “Process Name”, “Contains”, then in the blank area enter “acad.exe”, then press the “Add” button. This will instruct Process Monitor to ignore everything unless it contains “acad”.

procmon-filter2

If you have dual monitors, place Process Monitor on the opposite monitor from where AutoCAD opens. If you have a single monitor, position and size Process Monitor so that you can see the AutoCAD command line and then click the Options menu in Process Monitor and select “Always on Top”. This will keep Process Monitor visible even when AutoCAD takes focus.

Now start up AutoCAD. You will see a line after line start scrolling by, probably faster than you can read it. Pay attention though, and when AutoCAD seems to freeze up, take a look at the Process Monitor screen and look at the last few lines, particularly the Path and Result columns. Is AutoCAD looking for a drive letter or network path that does not exist? Maybe it’s looking for an add-on file that doesn’t exist any more. If you don’t see anything obvious, you may have to go back to the Process Monitor filter and remove the filter you added earlier (you can uncheck it to remove the filtering ability without physically removing the line). Maybe another application is slowing down AutoCAD by running some sort of process during AutoCAD startup.

procmon-main

Process Monitor has helped diagnose a problem where a particular DWG file just would not load in AutoCAD. It looked like AutoCAD was just locked up after loading about 20% of this drawing. Process Monitor revealed that the virus checker was busy scanning four, 18MB .SID files that were referenced in the DWG file. In another case, AutoCAD was taking almost a minute to open the MTEXT editor, but only the first time it was initiated. After using Process Monitor, it was determined that AutoCAD was finding over 300 fonts in the various search paths, and AutoCAD was reading each font once, the first time the MTEXT editor was launched. Hopefully, you can use this tool to help diagnose a problem that you are having.