[an error occurred while processing this directive] Node:EMM386 alloc, Next:, Previous:Windows9X alloc, Up:Memory

15.7 Memory allocation fails under EMM386 or HIMEM

Q: My machine has 48 MBytes of RAM, but when I run DJGPP programs, they start paging after 32 MBytes have been used....

Q: I have 5 MBytes of free RAM on my machine, but DJGPP programs start paging after only 256KBytes of memory were used??

A: This might be caused by some old versions of the memory manager installed in your machine (like HIMEM or EMM386 from an old version of DOS), which were limited to 32 MBytes of extended memory. Try running without them (CWSDPMI can use raw extended memory), or upgrade to a newer version of DOS.

If your programs start paging after only 256KBytes of memory were used, most probably you are using EMM386 and CWSDPMI, and your CONFIG.SYS specifies no amount of memory when it installs EMM386. Some old versions of EMM386 default to 256K in this case; you should tell EMM386 explicitly how much memory it should take over. You can use the go32-v2 program to see what amount of extended memory your DJGPP programs will get.


[an error occurred while processing this directive]