Changes to internal architecture of the OpenEdge 10.1B client code and 10.1B database internals have changed the memory requirements and some functional limits for many executables.
In 10.1B the client will most likely only be able to connect in shared memory to a database or multiple databases whose total allocated shared memory is around 1.4 Gig of RAM (or less).
Depending on the database startup parameters, the following are typical values for -B dependent on database blocksize:
DB Blocksize Approximate limit for -B value which
will allow shared memory connection
These numbers are largely approximations.
Other database startup parameters which affect shared memory sizing such as -B, -L, -Mxs, -shmsegsize, et al. will lower the above limits.
Changes to .dll versions within a system may lower the above suggested values. In prior versions shared pointers were only 64 bits wide on 64-bit versions of Progress / OpenEdge. In 10.1B or later versions shared pointers are 64 bits wide for both 32-bit and 64-bit versions of Progress / OpenEdge. This is one of the factors which has increased the size of client and server memory space in 10.1B and later necessary for the manipulation of 64-bit structures.
Though the database may be able to startup with values higher than those listed above, the client requires a much larger heap size in 10.1B compared to earlier versions and this added memory usage lowers the total memory that the client can attach to and still be within the addressable 32-bit memory limit for a client executable on Windows.