Analysis on *why* a program is chugging resources

Started by Coldblackice, April 21, 2015, 09:22:54 PM

Previous topic - Next topic

Coldblackice

It would be awesome to get some analysis on *why* a program is chugging resources. The two general ways I know about that come to mind:


  • In ProcessExplorer, you can view a program's "Threads". You can see which threads are currently eating the most CPU. You can even look at a thread's stack trace to further troubleshoot this (although I'm not an expert at doing this -- I've been wanting the ability to decipher these better)

  • In ProcessMonitor, you can see what a program is actually doing behind the scenes -- writing to disk, accessing registry, communicating over network, etc.

  • "Analyze wait chains" -- in Resource Monitor, you can click this to check what a program is waiting/hanging on.

I know this is extending the scope, but it's something that no other tool I've seen does (at least in a "friendly" manner) -- giving some clue as to what's causing a particular resource spike by a program, even if it's just the name of the thread or .DLL that's chugging. This would go a long way in helping people to eliminate the sources of troublesome programs and resource usage.

BenYeeHua

You means like Nvidia, which provided a simple status that report which one is bottleneck?

For example, Nvidia report GPU usage, memory, temperature etc as the bottleneck.
I think "IF" Process Lasso can analysis it, it can just report like this, so the user know which hardware it should update.(Of cause the bottleneck are still time, resource and optimize to get this function.) ;)

Coldblackice

Quote from: BenYeeHua on April 22, 2015, 10:17:12 AM
You means like Nvidia, which provided a simple status that report which one is bottleneck?

For example, Nvidia report GPU usage, memory, temperature etc as the bottleneck.
I think "IF" Process Lasso can analysis it, it can just report like this, so the user know which hardware it should update.(Of cause the bottleneck are still time, resource and optimize to get this function.) ;)

Wait, really? This exists? I've been wanting something like this!

I had no idea Nvidia did this. I've been wanting to come up with software that will show you where the bottlenecks are in your system -- the weakest link in the chain is the one that breaks first (and needs upgrading first!).

Where does Nvidia do this? Does AMD have the same? Is there any other software that does something like this? I've wanted to make a program that not only tests your system's parts and resources to test their throughput, but also cross-compare those results with a database of other people who have those same parts. The program then highlights each result either red, yellow, or green to show if that part is performing at/below/above the standard variance.

For example, "Your Samsung 840 SSD on x58 should be reading at XMB/sec and writing XMB/sec. However, it is one standard deviation below expected throughput according to users' average."

It could go even further with this... "The source of this may be a driver issue, as your controller is using version 1.2 when users with faster speeds are using driver 2.1. Try updating your controller's driver."

Thoughts?

BenYeeHua

Too big for Bitsum... :P

Anyways, you can check for the limit by using MSI-AB and also GPU-Z, I think it might be difference(less detect) if you has difference GPU.

And nope, I think you can only know by using some benchmark software which test your system and compare with difference similar computer setup. :)