A Task Manager that records task activity, OR triggers a snapshot if a process goes above 90%?

Posted on 2006-05-04
Last Modified: 2013-12-03
Hello!  I asked this a few months ago, on EE, but in a different area, and I got no responses. Perhaps you programmers would know.

I am looking for an XP "Task Manager" with a specific feature.  A task manager which will do any of these things:

-when a process uses CPU % above a predetermined threshold, a "snapshot" is taken of all processes running (and their %) at that moment, and recorded.  Or,

-all process activity is recorded, in a loop, so I can call up the "process state", say 47 minutes ago. Or, even better:

-it will record a log of every running process, each second, 24/7, and the CPU% each proc is using. Yes, a large log file, but I would only need to run it for a day or two.

Does this utility exist? It would be great for troubleshooting a common problem: when a computer freezes for 20 seconds, randomly, a few times a day. This would point to what process may be the culprit. Or if an enduser says "my computer was extra slow last night around 8:00", I could just look at the log to see what process was hogging the CPU.  (could be a virus scan, but also could be a virus or malware or an unneeded background task)

I know how to use built-in "Performance Monitor" to do something similar, but it will NOT log processes which start after PerfMon was started.

They're gotta be a utility like this!  If not, it would probably be a very popular shareware app, if written.

    LVL 7

    Accepted Solution

    Whoops, just about sent a 1 page tutorial about "Perfomance Monitor" :)

    Yes, its built into "Microsoft Performance Logs and Alerts", a builting monitoring utility.

    In alerts under "Run this program" you can specify a batch file or .vbs script.  
    The latter gives you unlimited capabilites to record whatever you like about the system.

    Numerous articles can help you, heres a starting script:

    ------------- CUT HERE -----------------
    Dim list
    for each Process in GetObject("winmgmts:").InstancesOf("Win32_Process")
        list = list & Process.Handle & _
               " " & Process.Name & _
               " " & Process.CommandLine  & _
               " " & Process.KernelModeTime & vbCrLf
    WScript.Echo list
    ------------- CUT HERE -----------------
    Save this as c:\procs.vbs and reference it in your alert.

    More information about the WMI Process object can be found at

    LVL 8

    Expert Comment

    LVL 7

    Expert Comment

    One comment to make, often these "20 sec hangs" are extremely intractible: in fact, they can lock the kernel sufficiently that monitoring utilities may
    miss samples.  On one system, I recorded a CPU utilization of ~5% despite the fact that the system was entirely unusable (turns out it was a
    bad network card).

    I Recommend running Sysinternals Process Explorer to get a handle on your system, Mark Russinovitch has an article on some of the steps he used
    to get to the bottom of a similar delay

    Process Explorer

    Case of Periodic Hangs


    Author Comment

    from the author: I just closed the the question and issued the points.

    Thanks Bill!
    LVL 7

    Expert Comment

    Thank you Johnathan, glad to help

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Suggested Solutions

    Title # Comments Views Activity
    has12 challenge 13 52
    java continue statement 10 50
    object oriented javascript web form 8 48
    VB 6.0 printer how to align 6 35
    This is an explanation of a simple data model to help parse a JSON feed
    This is about my first experience with programming Arduino.
    An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
    In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

    759 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    12 Experts available now in Live!

    Get 1:1 Help Now