From: George Foot Newsgroups: comp.os.msdos.djgpp Subject: Re: not enough virtual memory (0/1) Date: 22 Nov 1997 00:07:28 GMT Organization: Oxford University, England Lines: 70 Message-ID: <6557o0$ilq$1@news.ox.ac.uk> References: <34764c2c DOT 3527847 AT news DOT innotts DOT co DOT uk> NNTP-Posting-Host: sable.ox.ac.uk To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk On Fri, 21 Nov 1997 02:11:11 GMT in comp.os.msdos.djgpp Shaka Zulu wrote: : i tried all the suggestions for setting up my computer for djgcc : (486dx2 16mb at least 400 mb free on my scsi hard disk) : and for small source files , the compiler works fine : but for say a 600 Kb c file e.g. the wam.c produced by binprolog : or a large distribution with a few hundred small c files I think your system is lacking in memory for large compiles. The go32-v2 report shows that you're only getting 10Mb + 20Mb, roughly, according to go32-v2. I'm not sure how it worked this out; with a 10Mb disk cache on a 16Mb machine there wouldn't be much memory left, but I suppose the cache was reduced with Windows running. Under DOS, though, with a 10Mb disk cache and a 4Mb RAM disk you should only have 2Mb of physical memory left -- not a great deal! Another possibility is that the RAM disk isn't big enough to hold all the temporary files. But you don't seem to be using one in actual fact, and even if I missed something there your temp directories seem to be C:\TEMP, not anything on the RAM disk. Suggestions to allow compilation of large files: 1) Read the FAQ section on system configuration, and take its advice 2) Get rid of the RAM disk and use a smaller cache -- 10Mb is really excessive. 3) Don't use such large files! ;) Split them into smaller modules which can compile separately. Suggestions for compiling lots of small files: 1) You didn't give an example command line, but the only reason I can think for the VM shortage is that you're trying to compile them all on the same command line. Compile them individually to .o files, and link the results afterwards. 2) Better still, use a makefile which will achieve the same effect but make things easier for you. : dpmi memory available: 10315 Kb : dpmi swap space available: 21517Kb . I'm having trouble deciding how these figures can fit in with the system description and startup files you gave... I really can't see where 10Mb of memory came from when out of 16Mb, 10Mb is used as a cache and 4Mb as a RAM drive. Also I see that you're using Windows 95 and QEMM386 and QDPMI, all at the same time -- I would have thought the latter two wouldn't work well with Win95. Even so, try turning off QDPMI and see if that helps -- then at least under DOS your programs will use CWSDPMI, which provides far more virtual memory than apparently QDPMI is giving you. Also under Windows, if it is providing your DPMI services, turn up the DPMI memory allowance in the Memory section of the DOS prompt properties -- type in the field `65535' (it's not on the list). This will give you far more memory to play with, if it's available. : I have also included five attachments containing my : autoexec.bat and my config sys for both msdos and win95 : plus the bat files for my paths Please include these in your message body directly in future, so that they won't be mangled by your news/email writing program. -- george DOT foot AT merton DOT oxford DOT ac DOT uk