Date: Mon, 20 Jul 1998 07:32:24 +1000
Reply-To: Tim Churches <tchurch@IBM.NET>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: Tim Churches <tchurch@IBM.NET>
Subject: Re: Chargeback on SAS NT Servers
Content-Type: text/plain; charset=us-ascii
Howard Wright wrote:
> Is anyone out there doing charge-back on SAS NT servers. We're running
> a number of SAS NT servers, all of which are used by different
> departments and divisions. We're trying to figure out a charge-back
> basis for them. The approach that is being argued at the moment is to
> simply base charge-back on disk space usage, needless to say, this is
> less than ideal.
Howard,
My guess is that you want to monitor CPU usage as well. Under Win NT,
unlike Unix, the CPU usage is not reported on the SAS log unless you use
FULLSTIMER, when a huge number of details are reported with it - far too
many, in fact. If CPU usage (as well as elaped time) were reported on
the log, then you can just capture the log for every SAS session (use
-ALTLOG in the config) and then post-process the logs to tease out the
CPU usage from every appropriate NOTE: line using a SAS programme.
An alternative is to enumerate processes running on the server using the
PULIST command (comes with NT Server Resource Kit) - this will give you
the PID (process ID), the process names (all the "SAS.EXE"s) and the
total CPU time. You would have to invoke PULIST from a scheduling
facility (we use NTcrond by #ifdef Software - excellent), say every 5
minutes, capture the output and process it, and then somehow relate the
PID of each SAS process to a username. I don't know how to do the
latter, but I am sure it could be done, perhaps using Perl. Note that
the CPU usage from PULIST is itself cumulative, so you would need to
replace the last figure for a particular PID with the new one. Also, PID
numbers are often re-used by the OS, although they are always unique
while they being used, so you would need to resolve the PID number to
the identity of the owner of the process in real time. All this sounds
quite tricky. Is it worth the effort, or is CPU chargeback something
which is a hangover from mainframes? My feeling is that you ae better
off putting effort into automatically throttling back the CPU usage of
long-running (or CPU intensive) jobs by downgrading their priority from
normal to low. I'm sure this too could be done with PULIST and a clever
Perl script. BTW, are you using any quota software and if so, which one?
How are you doing disc space accounting? Would you be willing to share
your scripts or SAS programmes to do it?
Cheers,
Tim Churches
|