Kbase 483: DOS "stget: out of storage" & "out of memory" errors
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
DOS "stget: out of storage" & "out of memory" errors
900531-rgw01
INTRODUCTION: Date Last Modified: 6/26/90
=============
This Product Services Technical Support Knowledgebase entry details the
causes and corrective measures to take if you encounter PROGRESS errors
283 or 911 or "out of memory" conditions while running PROGRESS under
DOS.
PROGRESS ERROR NUMBER: PROGRESS ERROR TEXT:
====================== ====================
283 ** stget: out of storage (283)
911 System Error: out of storage (911)
or
System Error: iofrcl out of storage (911)
1450 ** stger: out of storage (1450)
POSSIBLE CAUSE OF ERROR:
========================
These errors are the result of having too little free RAM memory
available for PROGRESS. The reference to storage does not indicate a
space problem on the hard disk drive.
DOES ERROR INDICATE CORRUPTION: IF SO, WHAT TYPE:
=============================== =================
No N/A
CORRECTIVE MEASURES:
===================
The amount of memory PROGRESS uses depends on two factors:
1) The version of PROGRESS you are using.
2) The size of the procedures you are running.
The amount of available memory depends on three factors.
1) The amount of actual RAM you have on your system.
2) The contents of your config.sys file.
3) The presence of memory resident programs or utilities (TSR's).
First we'll discuss the issues surrounding the availablility of RAM on
your machine and what you can do to adjust PROGRESS's use of memory.
Note: When freeing up memory it is best to try one adjustment, reboot
the P.C. and then try starting PROGRESS. If you still receive memory
errors then make the next adjustment.
First make sure that the system is configured with at least 640KB of
RAM. To check this, use the DOS CHKDSK command to see how much actual
RAM is available.
Next look for memory resident programs (TSR's) such as SIDEKICK. These
can take up a lot of memory so make sure that you are not starting them
automatically your DOS autoexec.bat file.
Finally look in your DOS config.sys file. Are there any device drivers
you are not using ? Remove the ones that you don't use. How many DOS
buffers are allocated? PROGRESS runs best with 40, but if you need to
reduce this setting, you can reduce it (to 30, 20, 10), thus freeing
more memory. Any change to the DOS config.sys file doesn't go into
effect until you reboot the system, so after each change, reboot by
pressing the Control, the Alt and the Del keys at the same time.
Now let's look at changing PROGRESS's memory requirements.
In version 5.2A, PROGRESS provides three versions, each handles
memory in a different way. Real mode (_progres.exe) is the default
version used in the PROGRESS pro.bat. It uses between 450KB and 580KB
of RAM depending on the size of the procedures you call. The Memory
saver (_cprogrs.exe) uses overlay techniques to reduce memory use to
360KB to 500KB. Protected Mode (_eprogrs.exe) uses extended memory (RAM
over 1MB) and requires 2MB of RAM to be installed.
Starting in version 5.2I there are only two versions. Memory Saver
(_progres.exe) and Protected Mode (_pprogrs.exe).
Protected Mode PROGRESS is the version which provides the best
performance and overcomes the memory limitations of DOS. Protected
Mode PROGRESS runs on most 80286 or 80386 based machines with 2MB or
more of extended memory. If your machine has extended memory this is
the version of choice.
If you do not have extended memory, using the PROGRESS Memory Saver
version uses less memory than the Real mode version and runs on most
machines (chances are good that with memory saver you can go back and
increase the buffers in the DOS autoexec.bat and regain performance).
If you still can't get PROGRESS to run with Memory Saver, use the
following PROGRESS startup options to reduce memory useage:
-ovl n
where n is a number between 32 and 300. This number refers to the size
of the overlay area. The default is 128; by using smaller arguments
(110, 100, etc...) you reduce the amount of RAM used.
The size of the edit and procedure buffer is controlled by the
-e n
startup option, if you set this too high, you can increase memory
usage. The default is 32. Do not increase the -e option unless the size
of your procedures requires it.
The number of database buffers is controlled by the
-B n
startup option. Reduce this parameter to lower memory usage. The
default in PROGRESS version 4 is 45, on version 5 and 6 it is 20.
Reducing this option frees memory but slightly degrades performance.
Memory use is also influenced by the size of the procedures you run.
PROGRESS FAST TRACK is an application written in PROGRESS which
increases memory usage by as much as 130KB over what is required to
start the 4GL. Procedure related "stget out of storage" errors are
usually seen using very large procedures which have multiple complex
frames or have very large complex display statements. Breaking
large programs up into run subprograms and simplifying complex
statements is the best approach to fixing these memory problems.
ONLINE PROCEDURES OR UTILITIES:
===============================
DOS command CHKDSK shows memory usage
PROGRESS WHATMEM command shows extended memory usage
REFERENCES TO WRITTEN DOCUMENTATION:
====================================
Installation Notes for DOS
System Administration Guide - Chapter on PROGRESS startup options
(PROGRESS version 5)
System Administration Guide I - Chapter on PROGRESS startup options
(PROGRESS version 6)
Progress Software Technical Support Note # 483