LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (August 1998, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Mon, 10 Aug 1998 07:19:14 +0000
Reply-To:     kmself@ix.netcom.com
Sender:       "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:         "Karsten M. Self" <kmself@IX.NETCOM.COM>
Organization: Self Analysis
Subject:      Re: sas memory problems
Content-Type: text/plain; charset=us-ascii

SAS seems to want at least 36 MB more memory. You aren't limited by physical memory, but things can get slow if you have to go virtual (use disk swap).

To increase the memory allocation available to SAS, use the MEMSIZE system option AT IVOCATION (you can't change the memory allocation after SAS has started). To do this, either run SAS with a MEMSIZE option on the command line, or add or edit the MEMSIZE option in your config.sas61x file (where 61x is the version of SAS, eg: 611, 612, etc.).

Argument is amount of memory, with units (usually M for megabytes). Argument of 0 gives you unlimited memory.

Running proc options option= memsize; run;

....will report your current SAS setting.

Both of the following will run SAS with 128 MB of memory:

Command line:

# sas -memsize 128M

config.sas61x file:

-memsize 128M

You can find your systems current available memory with the following commands (will vary from system to system):

free - if installed, shows free and available memory and swap.

total used free shared buffers cached Mem: 95232 93336 1896 21204 14400 39140 -/+ buffers/cache: 39796 55436 Swap: 148540 3948 144592

vmstat - interactive utility, get your readings off the 2nd or later cycle. This reports virtual memory usage, you'll have to know what your maximum real and virtual memory are.

Output similar to:

procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 1 0 0 3948 1868 14400 39156 0 1 2 1 2 5 5 3 7 2 0 0 3948 1868 14400 39156 0 0 0 6 110 115 98 2 0 2 0 0 3948 1868 14400 39156 0 0 0 0 104 116 97 3 0

uptime - some versions report memory utilization like top (below) top - if installed, will give memory statistics like:

12:03am up 57 days, 21:33, 4 users, load average: 1.05, 1.21, 1.28 66 processes: 62 sleeping, 3 running, 0 zombie, 1 stopped CPU states: 95.7% user, 4.3% system, 82.5% nice, 0.5% idle Mem: 95232K av, 93500K used, 1732K free, 20768K shrd, 14400K buff Swap: 148540K av, 3948K used, 144592K free 39424K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND 2960 karsten 20 19 344 316 212 R N 0 82.5 0.3 65418m rc5des 10489 root 0 0 16620 16M 936 R 0 12.7 17.3 325:09 X

(your display will probably be different, mine is from my Linux box at home)

Note the line beginning "Mem:". I've got 96MB real memory installed, and about 140 MB swap.

If your system is anemic (doesn't have much memory) and/or you need a lot, you might try increasing your swap space. You'll want to check with your system administrator on how much swap to provide and how to go about getting it. I'd suggest you have as much swap as real memory, possibly more. If you find you're going into swap frequently with active processes, you'll want to increase the physical memory available. You'll know if you're going to swap by system performance, especially screen refreshes (very slow), and/or by using the monitoring utilities above.

You might also run 'ulimit -a' to see whether your account has any restrictions on resource utilization. You're interested in "max memory size" or related measure Output looks like (again, may vary -- see man pages):

[karsten@localhost karsten]$ ulimit -a core file size (blocks) 1000000 data seg size (kbytes) unlimited file size (blocks) unlimited max memory size (kbytes) unlimited stack size (kbytes) 8192 cpu time (seconds) unlimited max user processes 256 pipe size (512 bytes) 8 open files 256 virtual memory (kbytes) 2105343

Adam B Ashcraft wrote: > > please help! > > i've been using proc iml to implement efficient semiparametric > bootstraps of simple ordinary least squares t-tests, but sas > can't seem to handle any more than 2,500 observations at one > time, while i need to use ten times that amount. i get the message: > > ERROR: (execution) Unable to allocate sufficient memory. At least > 36159040 more bytes required. > > i understand that i can set the symbolspace and workspace levels > with the proc iml command, but the sas documentation seemed to > infer that sas would acquire more memory as required, and i couldn't > figure out the defaults, nor receive help from my sysadmin as to > what the capacity of my sun workstation is. > > thanks. > > adam b. ashcraft > ashcraft@mit.edu

-- Karsten M. Self (kmself@ix.netcom.com)

What part of "gestalt" don't you understand? Welchen Teil von "gestalt" verstehen Sie nicht?

web: http://www.netcom.com/~kmself SAS/Linux: http://www.netcom.com/~kmself/SAS/SAS4Linux.html

11:51pm up 57 days, 21:20, 4 users, load average: 2.02, 1.47, 1.27


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