LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (July 1998, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
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
Comments: To: Howard Wright <hwright@OLDMUTUAL.COM>
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


Back to: Top of message | Previous page | Main SAS-L page