As tye pointed out, Win32::PerfLib is the way to get the info you want.

However, using this module is extremely non-intuative due to the amount and complexity of the information returned and the weird format it is returned in, so here's some crude code to show how to get and display some of the info available, including the process name/ID/thread count.

#! perl -w use strict; use Data::Dumper; use Win32::PerfLib; my (%counters, %r_counters); Win32::PerfLib::GetCounterNames('', \%counters); # Build a reverse lookup table. Names are clearer than numbers. @r_counters{values %counters} = (keys %counters); # retrieve the id for process object my $processObj_id = $r_counters{Process}; # retrieve the id for the process ID counter my $processCounter_id = $r_counters{'ID Process'}; my %processes; # create connection to $server my $perflib = new Win32::PerfLib(''); # get the performance data for the process object $perflib->GetObjectList($processObj_id, \%processes); $perflib->Close(); my $pInstances = $processes{Objects}{$processObj_id}{Instances}; foreach my $p (keys %{$pInstances}) { my $pICounters = $pInstances->{$p}{Counters}; print "\nProcess name=$pInstances->{$p}{Name}\n"; foreach my $i (keys %{$pICounters}) { printf "%s=%s %s\n", $counters{$pICounters->{$i}{CounterNameTitleIndex}}||'?', $pICounters->{$i}{Counter}, exists $pICounters->{$i}{Display} ? $pICounters->{$i}{Disp +lay} : ''; } # print Dumper $pICounters; # Uncomment to view other available inf +o }

Some sample output

Process name=Apache % Processor Time=3404896 % % User Time=2603744 % % Privileged Time=801152 % Virtual Bytes Peak=16314368 Virtual Bytes=15724544 Private Bytes=1224704 Page Faults/sec=844 /sec Thread Count=3 Working Set Peak=3129344 Priority Base=8 Working Set=0 Elapsed Time=126936578449602768 sec Page File Bytes Peak=1232896 ID Process=328 Page File Bytes=1224704 ?=41 Pool Paged Bytes=10548 Pool Nonpaged Bytes=109904 Handle Count=42 Process name=Apache % Processor Time=240445744 % % User Time=81016496 % % Privileged Time=159429248 % Virtual Bytes Peak=276799488 Virtual Bytes=276791296 Private Bytes=4849664 Page Faults/sec=3677 /sec Thread Count=252 Working Set Peak=5132288 Priority Base=8 Working Set=1409024 Elapsed Time=126936578469331136 sec Page File Bytes Peak=4849664 ID Process=320 Page File Bytes=4849664 ?=328 Pool Paged Bytes=20505 Pool Nonpaged Bytes=29348 Handle Count=301 Process name=CMD % Processor Time=16924336 % % User Time=4306192 % % Privileged Time=12618144 % Virtual Bytes Peak=24375296 Virtual Bytes=22278144 Private Bytes=753664 Page Faults/sec=2676 /sec Thread Count=1 Working Set Peak=1933312 Priority Base=8 Working Set=917504 Elapsed Time=126936601358804336 sec Page File Bytes Peak=868352 ID Process=530 Page File Bytes=753664 ?=208 Pool Paged Bytes=14349 Pool Nonpaged Bytes=2160 Handle Count=24 Process name=telnet % Processor Time=23533840 % % User Time=4606624 % % Privileged Time=18927216 % Virtual Bytes Peak=24895488 Virtual Bytes=24895488 Private Bytes=647168 Page Faults/sec=788 /sec Thread Count=2 Working Set Peak=2244608 Priority Base=8 Working Set=204800 Elapsed Time=126936778556944080 sec Page File Bytes Peak=647168 ID Process=323 Page File Bytes=647168 ?=208 Pool Paged Bytes=13761 Pool Nonpaged Bytes=2524 Handle Count=32 Process name=Opera % Processor Time=23330547680 % % User Time=13598854192 % % Privileged Time=9731693488 % Virtual Bytes Peak=129011712 Virtual Bytes=125411328 Private Bytes=50790400 Page Faults/sec=377954 /sec Thread Count=5 Working Set Peak=45481984 Priority Base=8 Working Set=16257024 Elapsed Time=126938205362444880 sec Page File Bytes Peak=52809728 ID Process=333 Page File Bytes=50790400 ?=208 Pool Paged Bytes=31030 Pool Nonpaged Bytes=16876 Handle Count=338 Process name=perl % Processor Time=8812672 % % User Time=5107344 % % Privileged Time=3705328 % Virtual Bytes Peak=51007488 Virtual Bytes=34230272 Private Bytes=4141056 Page Faults/sec=954 /sec Thread Count=1 Working Set Peak=3858432 Priority Base=8 Working Set=3829760 Elapsed Time=126939006229983792 sec Page File Bytes Peak=4186112 ID Process=123 Page File Bytes=4141056 ?=530 Pool Paged Bytes=11638 Pool Nonpaged Bytes=3088 Handle Count=49 Process name=_Total % Processor Time=2392054605600 % % User Time=22268220128 % % Privileged Time=2369786385472 % Virtual Bytes Peak=1686691840 Virtual Bytes=1599528960 Private Bytes=110469120 Page Faults/sec=587526 /sec Thread Count=491 Working Set Peak=167428096 Priority Base=0 Working Set=62226432 Elapsed Time=0 sec Page File Bytes Peak=118497280 ID Process=0 Page File Bytes=110469120 ?=0 Pool Paged Bytes=653700 Pool Nonpaged Bytes=2378564 Handle Count=3689 Process name=Idle % Processor Time=2336378146784 % % User Time=0 % % Privileged Time=2336378146784 % Virtual Bytes Peak=0 Virtual Bytes=0 Private Bytes=0 Page Faults/sec=1 /sec Thread Count=1 Working Set Peak=16384 Priority Base=0 Working Set=16384 Elapsed Time=0 sec Page File Bytes Peak=0 ID Process=0 Page File Bytes=0 ?=0 Pool Paged Bytes=0 Pool Nonpaged Bytes=0 Handle Count=0 Process name=System % Processor Time=8991729472 % % User Time=0 % % Privileged Time=8991729472 % Virtual Bytes Peak=1740800 Virtual Bytes=1597440 Private Bytes=36864 Page Faults/sec=2213 /sec Thread Count=29 Working Set Peak=606208 Priority Base=8 Working Set=204800 Elapsed Time=0 sec Page File Bytes Peak=425984 ID Process=2 Page File Bytes=36864 ?=0 Pool Paged Bytes=0 Pool Nonpaged Bytes=0 Handle Count=160 Process name=cvsservice % Processor Time=1001440 % % User Time=300432 % % Privileged Time=701008 % Virtual Bytes Peak=12910592 Virtual Bytes=12910592 Private Bytes=458752 Page Faults/sec=379 /sec Thread Count=3 Working Set Peak=1544192 Priority Base=8 Working Set=204800 Elapsed Time=126936547929607296 sec Page File Bytes Peak=458752 ID Process=63 Page File Bytes=458752 ?=41 Pool Paged Bytes=8589 Pool Nonpaged Bytes=84248 Handle Count=27 Process name=ApacheMonitor.e % Processor Time=6457885984 % % User Time=1377080144 % % Privileged Time=5080805840 % Virtual Bytes Peak=16056320 Virtual Bytes=16056320 Private Bytes=389120 Page Faults/sec=1031 /sec Thread Count=1 Working Set Peak=1851392 Priority Base=8 Working Set=544768 Elapsed Time=126936570342515472 sec Page File Bytes Peak=389120 ID Process=237 Page File Bytes=389120 ?=208 Pool Paged Bytes=13424 Pool Nonpaged Bytes=1900 Handle Count=22

Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.

In reply to Re: Thread Counts by BrowserUk
in thread Thread Counts by kidwahoo94

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.