|
> -----Original Message-----
> From: Don Stanley [mailto:don_stanley@xtra.co.nz]
> Sent: Wednesday, May 24, 2000 4:58 AM
> To: Bross, Dean S
> Cc: SAS-L@LISTSERV.UGA.EDU
> Subject: Re: stack overflows using views on MVS
>
>
> Paula ... highly unlikely that any site will consider
> re-installing the
> mainframe OS because a SAS program has this sort of problem.
Thats OK. I greatly enjoyed the humor of this reply.
>
> There are a number of things that can be tried::
>
>
> * upping the region size for the job
> * increasing memsize to say 32M (you use proc options to
> find what it is
> now)
> * if a sort is involved (including an SQL join that may
> need to sort
> internally) try increasing the SORT= option. I often use
> NODYNALLOC as
> well which for whatever reason seems to have a positive
> impact on very
> big sorts. Also SORTWKNO=x will allow you to allocate x
> sort files which
> may help here
> * reducing the complexity of the view. For example, does
> the VIEW read 1 or
> many datasets, how big is the program data vector etc
> etc. Does the view
> use an extraordinarily large number of IF then else statements?
>
> Paula is right that it is likely to be a resource problem,
> today I struck it
> with a SORT and just bumped SORT= to 1000 which fixed it immediately.
>
> There are no reasons to avoid views on MVS, only reasons to
> ensure code is
> written as efficiently as possible and a realisation that
> MVS, despite its
> grunt, is as resource constrained as any other OS. If you
> haven't got the
> resource, you can't have the resource.
>
> Dean, if you can't get this working post the view. Its
> obviously doing a mass
> of work to get those 828252 observations.
>
> Don
>
Thanks for your help on this.
This portion of the JCL list probably shows the region that
was active. I've never made any attempt to modify it.
4 XXSAS EXEC PGM=&ENTRY,PARM='SORT=&SORT &OPTIONS',REGION=6M
XX*NULLPDS DD DISP=(MOD,PASS),DSN=&&NULLPDS,UNIT=SYSDA,
XX* SPACE=(TRK,(1,1,1)),DCB=BLKSIZE=6160
XX*
IEFC653I SUBSTITUTION JCL - PGM=SASHOST,PARM='SORT=4 ',REGION=6M
Here is the log up to the error point.
It doesn't seem to be doing any of those high resource
things you mentioned.
I have decided to accept the program results after repeating
the run (15 CPU minutes) using temporary data sets instead
of views and getting the exact same results. I avoid views
because I got this same problem several years ago. But I
tried them again this time after running out of disk space
even with over 1000 CYLs when I ran earlier versions of this
program.
1 The SAS System
08:42 Tuesday, May 23, 2000
NOTE: Copyright (c) 1989-1996 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) Proprietary Software Release 6.09 TS460
Licensed to VA AUTOMATION CENTER, Site **********.
Welcome to the SAS Information Delivery System!
====== Version 6.09 Enhanced ======
For information about new MVS-specific features, enter "help host"
from any Display Manager command line and select "What's New".
Please notify the AAC help desk at phone number (512) 326-6780 of any
problems with SAS.
NOTE: The SASUSER library was not specified. SASUSER library will now be the
same as the WORK library.
NOTE: All data sets and catalogs in the SASUSER library will be deleted at
the end of the session. Use the NOWORKTERM option to
prevent their deletion.
NOTE: The initialization phase used 0.06 CPU seconds and 2553K.
1 OPTIONS FMTSEARCH=(SASLIB) ;
2 DATA X / VIEW=X ; SET SG8.SG98 ;
3 ARRAY DDD DXLSF DXF2-DXF10 ;
4 LENGTH X $ 3 SUBST PTSD PSYCHOS 2 YRTYP 4 ;
5 ANYMENT=0 ; SUBST=0 ; PTSD=0 ; PSYCHOS=0 ;
6 DO OVER DDD ;
7 X=SUBSTR(DDD,1,3) ;
8 IF X GE '290' AND X LE '316' THEN DO ; ANYMENT=1 ;
9 IF X IN ('303','304') THEN SUBST=1 ;
10 IF DDD IN ('3083','30981') THEN PTSD=1 ;
11 IF X LE '299' THEN PSYCHOS=1 ;
12 END ;
13 END ;
14 IF ANYMENT=1 ;
15 YRTYP=1998 ;
16 KEEP SCRSSN SUBST PTSD PSYCHOS YRTYP ;
NOTE: DATA STEP view saved on file WORK.X.
NOTE: The original source statements cannot be retrieved from a stored DATA
STEP view nor will a stored DATA STEP view run under a
different release of the SAS system or under a different operating
system.
Please be sure to save the source statements for this DATA STEP view.
NOTE: The DATA statement used 0.03 CPU seconds and 3305K.
17 DATA WW.A ; SET X ; BY SCRSSN NOTSORTED ;
18 RETAIN I1-I3 ;
19 IF FIRST.SCRSSN THEN DO ; I1=0 ; I2=0 ; I3=0 ; END ;
20 IF SUBST=1 THEN I1=1 ;
21 IF PTSD=1 THEN I2=1 ;
22 IF PSYCHOS=1 THEN I3=1 ;
23 IF LAST.SCRSSN THEN DO ;
24 SUBST=I1 ; PTSD=I2 ; PSYCHOS=I3 ; OUTPUT ; END ;
25 KEEP SCRSSN SUBST PTSD PSYCHOS YRTYP ;
NOTE: The view WORK.X.VIEW used 412.70 CPU seconds and 4160K.
NOTE: Task SASDSVX had 11 stack overflows with a max stack size of 16384 and
a max overflow segment depth of 1. The load module
name for this task is SASDSVX.
NOTE: The data set WW.A has 828252 observations and 5 variables.
NOTE: The DATA statement used 23.73 CPU seconds and 4160K.
> paula wrote:
>
> > Stack overflow typically suggests problems with OS, in
> handling memory for
> > example. Maybe reinstallation of OS is first choice.
> >
> > Paula D
|