32-bit query

SSuhaib

Member
Hi All,

We know 32-bit architecture uses 4 GB of RAM at a time. Does that mean if server memory is 16 GB then then the remaining 12 GB is hardly used? Or does the server utilizes it any other way. Any info is highly appriciated in this matter as I need to explain to my superiors to migrate to 64-bit to take full advantages of this architecture.

TIA
 

TomBascom

Curmudgeon
A lot depends on the specific OS in question.

In general and on most operating systems an individual 32 bit process is limited to accessing roughly 2GB of memory. (The other 2GB is usually reserved for the OS.)

However, 4 processes could individually use 2GB for a total of 8GB plus another 2Gb for the OS leading to 10GB. So, no, memory in excess of 4GB is not necessarily wasted.

But... you cannot simply look at "process size" as shown by "ps" or "taskmgr" to determine how much RAM a process uses. Progress uses "shared memory" to efficiently access the database. As a result the majority of RAM addressed by a Progress process is shared and should only be counted once.

Shared memory comes with its own set of limits and restrictions. These are highly OS dependent. The most restrictive OS is HPUX which limits the grand total of shared memory for 32 bit processes in the entire system to 2GB.

Shared memory restrictions are much relaxed with 64 bit operating systems.

32 bit Progress can only use 2GB of RAM for its shared buffer pool. A few years ago this seemed like a remarkably large amount of memory but now it is actually not much. The buffer pool is a major tuning opportunity but it takes very large changes in -B to have an impact. The effect of changing -B follows an inverse square rule -- to cut IO in half you need to increase -B roughly 4x. This if you have -B at 125000 and 8k blocks you are using 2GB for the buffer pool. If your IO ops are peaking at 1000 IO ops/sec and you'd like to get that down to 500 you need to increase -B to 500000. That would be 8GB. You cannot do that unless you have a 64 bit Progress and a 64 bit OS.
 
Top