Measure the load on a computer

  • Thread starter Thread starter Michael A. Covington
  • Start date Start date
M

Michael A. Covington

We have a computer that multiple people use through Remote Desktop.

Is there a measurement analogous to UNIX's "load average" -- average number
of processes trying to run, or something -- that can be read by a program
running as an ordinary user (not administrator)?

I'm willing to write programs in Win32 or .NET, or use utilities, or
anything reasonable. I want to end up with something that can run whenever
a user logs on, to tell him how heavily loaded the machine is.

Thanks!
 
We have a computer that multiple people use through Remote Desktop.
Is there a measurement analogous to UNIX's "load average" -- average
number of processes trying to run, or something -- that can be read by a
program running as an ordinary user (not administrator)?

I'm willing to write programs in Win32 or .NET, or use utilities, or
anything reasonable. I want to end up with something that can run
whenever a user logs on, to tell him how heavily loaded the machine is.

I should add that I'm interested in situations where the load is more than
100%, i.e., there are processes waiting to run. Loads up to 100% are
viewable in Task Manager. But a non-administrator cannot view applications
other than his/her own.
 
the microsoft pstat.exe utility may help, but i am unfamiliar with it. maybe
you could run it periodically, read its output, and infer the info you want.
it seems that an ingredient you need is the amount of time a thread is ready
to be dispatched but is not yet dispatched (thread latency?). i'll be
watching this question with interest.
 
AMercer said:
still watching with interest. the silence is deafening.

You can say that again. I wonder if there is a Resource Kit tool that does
this.

For those who tuned in late: I'm wanting to measure the load on a
multi-user Windows server whose CPU is almost always 100% occupied (in UNIX
terms, has a load average greater than 1.0), and I want the equivalent of
the UNIX load average (i.e., basically the number of processes sharing the
CPU).

Measuring up to 100% (with Task Manager) is not good enough.
 
We have a computer that multiple people use through Remote Desktop.

Does this computer run either XP SP1 or Windows Server 2003? If so, try:

BOOL GetSystemTimes(
LPFILETIME lpIdleTime,
LPFILETIME lpKernelTime,
LPFILETIME lpUserTime
);
 
Back
Top