Try OpenEdge Now
skip to main content
Installation and Configuration
Installation : Administration Utilities : Manage memory and system configurations on UNIX platforms : Calculating memory needs
 
Calculating memory needs
The tables in this section are provided to help you calculate the memory requirements for your system. Keep in mind that all memory usage figures are approximate and vary depending on the version of the operating system, UNIX parameters, the OpenEdge startup parameters, and the OpenEdge application you are using. For more information, see OpenEdge Deployment: Startup Command and Parameter Reference.
Note: The background processes APW, BIW, AIW, and PROWDOG also take up memory. Remember to calculate these in your memory requirements.
The following table lists the components you use to calculate system memory requirements.
Table 28. Components used to calculate memory needs
Component
Symbol
Comment
Operating system
os*
Represents the memory requirements for one copy of your operating system shared in memory by all users, plus a certain percentage of physical memory to allow for operating system buffers; typically, 10%–15%.
OpenEdge
_progres*
Represents the size of one copy of OpenEdge shared in memory by all users running single-user or multi-user OpenEdge—allow for 15%–20% deviation in the _progres value to accommodate new releases.
Database server or broker
_mprosrv*
Represents the size of one copy of the OpenEdge database broker/server shared in memory by all users running multi-user OpenEdge. Use this component only when calculating memory requirements for a system running a multi-user version of an OpenEdge product.
OpenEdge user data
proud
Represents the data area required for each user running OpenEdge.1 2 This value varies greatly, depending on the application you run and whether you use the compiler. It is also affected by many of the startup parameters. For single-user clients, the parameters are:
*Blocks in Database Buffers (-B)
*Directory Size (-D)
*Stack Size (-s).
For multi-user clients, the parameters are:
*Directory Size (-D)
*Stack Size (-s)
*Maximum Memory (-mmax)
OpenEdge server data
psd
Represents the data area required for each database server serving remote clients. (Not used for single-user or multi-user clients if the users are self-service). This space is used for communication buffers and other server memory requirements.
OpenEdge broker data
pbd
Represents the data area required by each database broker. (One database broker is required for each different database simultaneously in use in multi-user mode whether you are using remote client/servers, self-service, or both.) This value is determined by the values of startup parameters>3 that consume memory, including:
*Database Buffers (-B)
*Lock-table Entries (-L)
*Number of Users (-n).
Note: Each increment of -n increases pbd by 2K.

1 Use the UNIX size command to determine the exact size. See table to determine the approximate value.

2 See OpenEdge Deployment: Startup Command and Parameter Reference for information about OpenEdge startup parameters.

3 See OpenEdge Deployment: Startup Command and Parameter Reference for information about OpenEdge startup parameters.

The following table lists the startup options that affect memory requirements.
Table 29. Size increments for increasing startup parameters by 1
Startup
Size increment
Affects
Blocks in database buffers (-B)
db block size (.5K, 1K, 2K, 4K, 8K)
multi-user: pbd;single-user: proud
Directory size (-D)
100 bytes
proud
Lock-table entries (-L)
16 bytes
pbd
Shared-memory size (-Mxs)
1K
pbd
Number of users (-n)
2K
pbd
Stack size (-s)
1K
proud
The following tables list approximate values for each calculation component for single and multiple users running an OpenEdge installation.
Table 30. Single-user memory requirements
Component symbol
Memory
_progres
3MB–4MB1

1 This is an approximate value. Use the size command to determine the exact size. if you are using a non-Open-Edge database, your value will be larger.

Table 31. Multi-user memory requirements
Component symbol
Memory
_progres
3MB–4MB>1
_mprosrv
1MB–2MB 2

1 This is an approximate value. Use the size command to determine the exact size. if you are using a non-Open-Edge database, your value will be larger.

2 This is an approximate value. Use the size command to determine the exact size. if you are using a non-Open-Edge database, your value will be larger.

The following table provides the formulas to calculate the memory requirements for your system without disk swapping.
Table 32. Formulas for calculating memory requirements
Single-user systems
Multi-user systems
os + _progres + (number of users x proud)
os + _progres + _mprosrv + (number of databases x pbd) + (number of remote client servers x psd) + (number of users x proud)
Note: Remote client/server processes share the same code as the broker and, therefore, require no additional _mprosrv (database server or broker) memory. Each remote client/server process does require an OpenEdge server data (psd) area.