techPowerUp! Forums

techPowerUp! Forums (http://www.techpowerup.com/forums/index.php)
-   General Software (http://www.techpowerup.com/forums/forumdisplay.php?f=15)
-   -   Process Monitor (http://www.techpowerup.com/forums/showthread.php?t=113638)

FordGT90Concept Jan 24, 2010 12:18 PM

Process Monitor
 
1 Attachment(s)
This simple application records how many handles and how much memory an application is using every second. You can type in a process name (for when the process will be started soon) or select an already running process from the drop down box. Click start and it will start to monitor it; click stop to halt monitoring.

http://img.techpowerup.org/100214/pr...itor_1_0_3.png

If the application closes, it will stop updating so you can see if the handle limit (default 10,000) or memory limit (2 GiB 32-bit, 4 GiB 32-bit Large Address Aware) is exceeded. These are things you can address to perhaps stop it from crashing.

If you wish to to use a Process Identification number (PID), use # followed by the number wherever it requests a name (commandline or in the "Process" field). For example, if you want it to monitor the PID 812, enter #812 and click start.


To increase the handle limit, you must increase the registry key:
Code:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\USERProcessHandleQuota

Command line arguments:
ArgumentPurposeExample
process_nameEnters the given name in the Process dropdown box.csrss
/sAutomatically starts monitoring the process named. This will not work without providing a process name.csrss /s


It requires .NET Framework 3.5 or newer to run.


Version History:
1.0.4 - Fixed a minor bug where Max Cores could exceed the number of cores in the machine.
1.0.3 - Added Processor graph/stats and ability to directly input a PID (via #134).
1.0.2 - Added launch arguments (detailed above).
1.0.1 - Displays the start time of monitor and how long the monitor observed the process on stopping.
1.0.0 - Original release.

MRCL Jan 24, 2010 12:21 PM

You da man, man! This is just what I need.

Kreij Jan 24, 2010 04:06 PM

Good Job Ford :toast:

You can also download SysInternals Process Monitor if you need more in-depth information.

FordGT90Concept Jan 24, 2010 04:11 PM

Heh, I could display all that info about a specific process. The reason why I don't is because that requires querying the Main Module which is a drag on performance when performance is important (gotta keep those graphs running ;)).

I haven't found an app that does what this does (finds maximum memory usage and maximum handles over a period of time).

Kreij Jan 24, 2010 04:34 PM

Yes, there are definitely advantages to having light weight apps and utilities that have very specific functionality.

W1zzard Jan 24, 2010 05:16 PM

http://img.techpowerup.org/100124/Capture421.jpg

am i missing something ?

FordGT90Concept Jan 24, 2010 05:26 PM

When the app terminates, that number isn't stored, nor the trends leading up to it. If an application closes because it requested 2+ GiB you can only guess that is in fact what happened. Unless, of course, this is running at the same time watching it.

Mussels Jan 24, 2010 11:26 PM

sweet little app.


Yse w1zzy, we know about task manager :P this gives you a timeline/graph

FordGT90Concept Feb 5, 2010 04:32 PM

1.0.1 released. It displays how long the process monitor was observering a process on stop/close.

regexorcist Feb 5, 2010 04:56 PM

I know my system is different, but I use Conky
which provides all the functionality you want
including any customization and it's very light on resources. :)

Both Conky and Gkrellm are very popular system monitors
in the Linux world.
http://conky.sourceforge.net/screenshots.html
http://www.lynucs.org/?gkrellm

FordGT90Concept Feb 5, 2010 04:59 PM

That doesn't graph memory usage (or handles for that matter) nor keep record of the highest memory usage observed. :p

regexorcist Feb 5, 2010 05:06 PM

You miss the point
I graphs or lists percentages or actual numbers
of ANYTHING you want
It has 2 pages of variables
and functions and executes your own scripts

FordGT90Concept Feb 5, 2010 05:09 PM

This works with two clicks (or type and one click), no thinking/programming required. ;)

regexorcist Feb 5, 2010 05:16 PM

very good, but mine runs when the system is brought up.
no clicking :laugh:

Yes there is initial configuration which can be difficult ;)
but with flexibility come configuration.

regexorcist Feb 5, 2010 05:17 PM

either way, monitoring the system is very important.
good app.

FordGT90Concept Feb 5, 2010 05:34 PM

Quote:

Originally Posted by regexorcist (Post 1751199)
very good, but mine runs when the system is brought up.
no clicking :laugh:

Stick it in Startup and it will start with the system. I should add a flag to pre-specify an application to monitor...


Edit: Done, see original post for details.

Mussels Feb 10, 2010 08:23 AM

I've used the tool from this thread over here, to fix a problem with Sins of a solar empires latest expansion pack. I've linked to here, and I'm linking from here back to there so that all threads involved get some attention.

FordGT90Concept Feb 14, 2010 02:20 AM

I'm pondering adding a new feature to this app:

While the Process Monitor is running, it would monitor CPU usage per core, formulate a score for each core, and figure out how many cores are actually needed to run the application. Because the CPU usage is based on the performance of the entire system, the user must make sure nothing is loading the system to 100% while playing the game. The purpose of this feature would be tell how many cores the game needs to operate smoothly. This information is valuable in setting WCG and F@H to how many cores they should be using. That way, you can contribute as much as possible to those projects while not interfering with your game performance.

Anyone think this would be a valuable feature?

Mussels Feb 14, 2010 02:37 AM

just make it spit out min/max/avg for each core - be very useful for testing games multithreading capabilities.

FordGT90Concept Feb 14, 2010 03:41 AM

I think I would do both. Instead of a graph, show a ListView with the current/min/max and on the left, show min/max core/CPU usage.

The reason I can't do an average is because it would have to have a limited scope (how limited depends on the hardware). If it isn't limited, it would eventually crash and/or be forced to restart averaging. :(

Mussels Feb 14, 2010 04:00 AM

average over the last 5 minutes, at 10-20 second intervals?

FordGT90Concept Feb 14, 2010 04:21 AM

That should work except I'd probably average it every second. It is just a simple division operation (total percentage / total seconds).

Mussels Feb 14, 2010 04:23 AM

i'm just thinking its a great way to tell if a game supports multithreading, and if so, is it crippled - EG supreme commander, it was multithreaded... but one thread had the AI on it, and that thread would just choke and die long before the others - holding performance back.

FordGT90Concept Feb 14, 2010 04:33 AM

Wait...let me clear something up: There is Process CPU time which tells you how much time a processor spent on a given process. This only tells you overall CPU use, not by core (an average of all cores).

There is also load percentages per core. It tells you how burdened each core is but it doesn't tell you what process is burdening that given core.

Which is more valuable to you? Both?


I guess the point I am trying to make is that the most accurate way to tell how many cores a given process is using is to take total process time and compare it to the number of cores. I could graph that...

Mussels Feb 14, 2010 04:36 AM

Quote:

Originally Posted by FordGT90Concept (Post 1764146)
Wait...let me clear something up: There is Process CPU time which tells you how much time a processor spent on a given process. This only tells you overall CPU use, not by core (an average of all cores).

There is also load percentages per core. It tells you how burdened each core is but it doesn't tell you what process is burdening that given core.

Which is more valuable to you? Both?


I guess the point I am trying to make is that the most accurate way to tell how many cores a given process is using is to take total process time and compare it to the number of cores. I could graph that...

is it possible to tell the load a process is having on the cores? Say, you run a game and it uses 100% of core 1, but only 5-10% of the rest of your cores


All times are GMT. The time now is 05:39 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.