Next: memoryinfo() Up: MacAnova Help File Previous: max()   Contents

memory

Keywords: general
The MacAnova "workspace", (all variables and macros; see topic
'workspace'), "resides" in memory (RAM) and not on your hard disk.

You can use keyword phrase size:T on list() to get information on the
amount of memory used by individual variables and the total used by all
variables and internal MacAnova storage.  This does not include the
memory required for the program itself nor, in a windowed version,
memory associated with windows and graphs.  See list().

Function memoryinfo() returns a vector summarizing several aspects of
memory usage.  See memoryinfo() for details.

Because RAM is a finite resource, you may sometimes be unable to carry
out a computation because there is no room for intermediate and/or final
results.  When this happens you get a message similar to the following:
   ERROR: Not enough memory.  Try deleting variables

When this happens, use delete() to get rid of the largest variables you
can do without.  If you really need to keep them, use save() or
asciisave() to save some or all of your variables on disk before
deleting them.
  Cmd> save("myvars.sav", x, y, residplot:LASTPLOT)

  Cmd> delete(x, y, LASTPLOT)

You can free up memory used to store information related to the most
recent GLM command such as regress() or anova() by
  Cmd> delete(STRMODEL)
This will make certain functions such as secoefs() and modelinfo()
unavailable until after another GLM command.

In Windowed versions, memory can sometimes be made available by closing
unneeded graphics and/or command/output windows.

The amount of memory available for individual variables and the entire
workspace differs between versions, primarily because of differences in
operating systems.

The most restricted is the limited memory DOS version in which no
variable can exceed 65,000 bytes.  This limits REAL and LOGICAL vectors,
matrices and arrays to 8,125 elements.  In addition, the program plus
the workspace can use no more than 640,000 bytes of memory, no matter
how much memory is installed on the computer.

Other versions have no limit on the size of variables other than the
availability of memory and, except the Macintosh (see below), can use
all memory installed.

The extended memory DOS, Windows, Motif and non-windowed Unix/Linux
versions all can make full use of the "virtual" memory provided by the
operating system.  This allows you to use more than the installed amount
of actual memory.

The Macintosh versions also take advantage of virtual memory (available
on all recent models).  However, like other Macintosh programs, MacAnova
runs in its own memory "partition".  When MacAnova is launched, its
partition is allocated a specific amount of space for program and data
and MacAnova cannot exceed the limit, even if a lot more memory is
installed.  When the limit is, say, 1000 KB (1 KB is 1024 bytes), then
MacAnova has N KB for variables, where, because memory is needed for the
program, N in the neighborhood of 600.  When the limit is 2500 KB =
(1000 + 1500) KB, then MacAnova has N + 1500 KB of memory for its
workspace.  When the partition is allocated 5000 KB = (1000 + 4000) KB,
available memory is N + 4000 KB, and so on.

As distributed, the Macintosh version of MacAnova has a default maximum
partition size of 5000 KB.  However, it is quite easy to change the
limit from the Finder.  Open the folder where MacAnova is installed and
select the MacAnova icon with the mouse.  Select Get Info on the File
menu to display a dialog box containing a 'Show:' popup menu on which
you should select 'Memory'.  This will display a Memory Requirements
panel.  (In older systems, the Memory Requirements panel may be
immediately displayed by Get Info.)  Type a new number in the "Suggested
size" box to set a new maximum partition size and then close the dialog
box.  That's all there is to it.

See also topics delete(), save(), asciisave(), 'workspace'


Gary Oehlert 2003-01-15