4

So I run a high intensive (CPU/GPU) real-time program. During normal execution suddenly everything freezes for 1-4 seconds. I opened "Process Explorer" in the background to help gain insight and maybe identify something. Here is what the CPU/GPU graphs looks like when I align them in time:

enter image description here

Notice the 4 distinct drops in both the CPU/GPU. You can see that it goes from some sort of positive CPU/GPU usage to almost zero. These drops in the graph align with when the real-time program suddenly freezes.

How do I find what is causing these sudden drops?

NOTE: When you put your mouse over the graph it tells you the time, accurate to the second, for where your cursor is. Maybe this mouse over feature could be helpful in some way (e.g. what if you had a log of all processes every 100ms).

EDIT:

The real-time program is a video game and so I can't watch some sort of instrumentation while the video game is running. I need a solution that let's you look back in time somehow to see what was happening when the slow down occurred.

EDIT:

RE - Recording Data vs using real-time monitor: So the windows performance recorder is for some reason not recording what I expect it to record. So I switched to using "perfmon" and then opening it's "resource monitor".

RE - Setting it up so I can view real-time monitor: In the video game I set it to spectate and then put the video game in "windowed" mode so that I can view the real time display that Resource Monitor has.

Now that I can get semi-real time (only once per second... how do you get more than once per second?) I started looking at the various real time data readouts.

Getting to the cause: I noticed a strong correlation in high disk IO and low CPU usage (which is also seen by having in-game freezing). How do you use resource monitor to find out who is doing all this offending disk IO?

8
  • 1
    Please dig through my post, note that it is possible for a real-time application to be interrupted by other services / applications that were pending some execution. But one of the tools I suggested should allow you to figure out which services / applications are bothering you... Apr 13, 2012 at 18:34
  • Some of the tools you show only show you the "current" time. But then you mention "Windows Performance Recorder" which let's you look back in time when the slow down occurred. Looks promising. Apr 13, 2012 at 18:50
  • FYI, This specific application is a video game. So it does make it troublesome because you can't watch your instrumentation at the same time as the video game is running. Hence I need something that can let me look back after the fact. Apr 13, 2012 at 18:51
  • Then Windows Performance Recorder is the way to go. Apr 13, 2012 at 19:06
  • Most likely disk access...
    – Ben Voigt
    Apr 13, 2012 at 19:22

2 Answers 2

2

Memory usage and disk I/O are the first things I'd look at.

Try disabling background programs like antivirus/anti-malware programs, any updater programs such as Windows Update, etc. Performing a clean boot is the best way to see if any 3rd party services or programs are causing this issue.

You should also monitor the memory--Windows could be paging memory in the background if memory is running low.

Have you noticed if it happens at certain times--for example, when you switch weapons or when a new sound is played? It could be the case that a game resource has been swapped out of memory or hasn't been loaded, and the game has to load the resource from disk. Depending on the game, you might be able to lower some of the settings to reduce the quality, quantity, or variety of in-game resources.

1
  • Update: I accepted your answer because it seemed like the best answer. ¶ I ended up buying a new video card with more memory. The sudden freezing went away. I think you were correct that there was something with the memory usage and disk I/O... but unfortunately I never pinpointed the exact cause. ¶ All I can say is generally speaking the problem went away with a new video card with more memory. Jan 8, 2013 at 21:03
1

Try FancyCache with "averaging write amount".

It seems to be able to spread out the disk access to avoid bursts.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .