Hi,
Is there a module or some sample code that will let one find out the CPU usage of a given process in percentages? This figure is highly useful and can be viewed in XP's task manager. However, none of the other tools I've seen, including XP's tasklist and Sysinternal's process tools, let you get at the CPU Usage as such. Many do offer the CPU time, however. I'd like to experiment with changing process priorities in case of serius peaks in CPU usage. Thus, a metric of how well the system performs and which processes hog the CPU the most would be just what I need, I guess.

I've installed some related Win32 modules using PPM including
perflib and process:: info, memory and perf.

I've Googled and read related bits of MSDN with little luck so far. seems there are two performance interfaces an NT specific one and the other based on Windows management instrumentation. However, both seem highly abstract and complex to work with and might not even offer the CPU usage as such.

To be sure, I launched the perfmon application in XP and went through the list of counters. You do get to user and kernel times on a per process basis as well as elapsed CPU time, but again I didn't see anything related to the CPU usage in the list. In Task manager's view/choose column dialog, the entry goes by the name CPU Usage and is shown by default.

So, does either WMI or the NT performance counters let me access the CPU Usage directly? If this is not the case, what kind of workarounds or other means do I have? For example, what do the 3rd party task manager replacements use?

I've checked the Win32 API functions in MSDN and as expected, did not find the CPu usage there, either. Even though I found references to some previously undocumented and interesting NT funcs like NtQuerySystemInformation. Another thought that struck me would be to monitor which Win32 API functions taskmgr.exe itself employs, using some free Win32 API monitors out there. However, this job seems difficult as I really don't know what kind of activity I should be looking for, that is by which name the function might go by.

Any help greatly appreciated as usual.

--
With kind regards Veli-Pekka Tätilä ([EMAIL PROTECTED])
Accessibility, game music, synthesizers and programming:
http://www.student.oulu.fi/~vtatila/
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to