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?

2 Answers2

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.

Moab
  • 58,769
rob
  • 14,388
1

Try FancyCache with "averaging write amount".

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

user541686
  • 23,629