Jump to content
MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. ×

Help: I need to Get 2GB installed RAM working in Win98SE

Recommended Posts

I've got 2 1GB sticks of RAM in my system. I know (or assume rather) I can't use 2GB with 98, but I need them installed because it's a multi-boot system. I installed 98 with just one of my sticks in, and then went about trying to work how to get the second one in. I began my search, and I was directed to this site for help. I finally got my system to boot with MaxPhysPage=38000 and MaxFileCache=30000, but now I have a different problem. Once in Windows, I can't get a command prompt to load without it telling me I have low memory. This also happens when trying load applications, or games

Any help would be appreciated. For now, I'm just going to start messing with the values, hoping to come across some magic, but I'm just shooting in the dark

Thanks in advance :thumbup

Link to post
Share on other sites

I finally got my system to boot with MaxPhysPage=38000 and MaxFileCache=30000, but now I have a different problem. Once in Windows, I can't get a command prompt to load without it telling me I have low memory. This also happens when trying load applications, or games

Seems a bit strange to say the least. Not discussing your choices, you are willing to limit the mem used by Windows to slightly under 1 gigabyte - if my quick math is correct. The MaxFileCache value IIRC is decimal kilobytes, and 30000 seems acceptable if a tad small for your situation. As a consequence, it /should/ work... Please make absolutely certain you entered the required parameter lines in the respective right sections of your %windir%\system.ini file. The MaxPhysPage= should be under [386enh], while MaxFileCache= goes under [Vcache]. I know you must have been careful, but please... double-check before we try to reproduce or understand your problem !




Link to post
Share on other sites

Hi, EGOvoruhk!

galahs pointed you in the right direction.

Those threads contain all our previous discussions and findings regarding win 9x/me with lots of memory.

I'm glad you got the system to work. As for the out of memory error with DOS boxes, I do have some

ideas about what may be happening. Yet, before writing many considerations based on guesses only,

let me ask you some questions:

Are you using XMSDSK? If so, what settings are you using?

What is the AGP aperture you are using?

Did you try to use more than MaxPhysPage=38000, after you had set MaxFileCache=30000? And what happened then?

Are you using EMM386.EXE or any other UMB manager?

Link to post
Share on other sites
Are you using XMSDSK? If so, what settings are you using?

Nope. No XMSDSK here

What is the AGP aperture you are using?

I set it to 32MB, which is the lowest I could set it to

Did you try to use more than MaxPhysPage=38000, after you had set MaxFileCache=30000? And what happened then?

I set them both at the same time

Are you using EMM386.EXE or any other UMB manager?

No. Everything I'm using is default. I just did a plain install, then SP 2.1a, and the ME system files update

Link to post
Share on other sites

Thanks for the info. From it I guess you have no other place to improve your configuration outside windows. So, please, try reducing even further MaxFileCache to 16384, then restore it to 30000 and try using a bigger MaxPhysPage, but do each modification by itself, and check whether the low memory errors disappear or not in each case.

Link to post
Share on other sites
How do you tell windows to place those files (operating system specific ones like the registry in particular) on a RAM disk

I could provide info tomorrow about the following:

1. Swap file on a RAM drive (dead easy)

2. Registry on a RAM drive, rest of Windows on a hard drive (easy)

3. All of Windows including registry on a RAM drive (also easy)

Link to post
Share on other sites
If you would that would be great. I'm sure some other members would love to know too.

I know how to put the swap file on there but the rest I wouldn't have a clue.

Use coa or setreg to put your registry into a ramdisk, alter the registry to point to the ramdisk letter you want to use then copy system.dat and user.dat over to it.

To put all of windows into your ramdisk first use subst to point to your ramdisk letter to a folder you create then install windows into that subst drive letter (similar to installing windows onto a cd)

Its all old hat preferred method for diskless win9x farms, nothing difficult and has shed loads of info of how to do it on google

Link to post
Share on other sites

Well it would be great to receive more information on how to install the virtual memory on the ramdrive.

I have just installed Windosws 98 SE on an Asrock 4coredual-sata2 -Intel core 2 quad processor -2 Gb of DDRII -

I believe that many new installation of windows 98 will be on a multiboot O.S. PC like mine and the one that started this post.

In a multi boot system new windows 98 users may have around 2 Gb of memory or may be even more.

The problem is what to do with this excess memory in windows 98.

Presently in my installation I have limited the memory used by windows 98 to 1Gb with the maxphispage (in system.ini) and to make the system work I had to reduce the MaxFileCache to 30000 (yes just 30000 cause more would not allow the start of dos window).

I am not very happy of the solution I have adopted and if possible I will try to put the Virtual memory on a ram drive.

I suspect that there can be some advantages and some disadvantages.

1 Disadvantage : using 1Gb of virtual memory on ramdrive and one Gb of memory can bring the risk of locking the system when the virtual memory is not enough for the system.

1 Advantage: It would solve the problems of the memory management bugs and a MaxFileCache enter would not be anymore necessary.

I would appreciate comments on this and also an explanation of why 1.8 Gb would be a good choice for virtual memory on ram drive in a system with 2Gb memory?

Infact i was thinking of something around 1 Gb for virtual memory on ramdrive in a 2Gb system.

1.8 Gb would leave just 200Mb of memory which seems not to be enough even for the agp video card memory needs.

With that setting I seriously doubt the system could work with my ATi Radeon 9600 using 256 Mb of memory.

So if someone could add some comments on how much memory give to the virtual memory ramdisk in a 2 Gb system or similar system it would be very welcome.

Also it would be appreciated some comments on how to avoid the lock up of the system after filling all the virtual memory.

Is 1 Gb of virtual memory enough to avoid any risk of lockup of the system??

Merry xmas to everyone

and thanks to all the wise posters

Link to post
Share on other sites

Well I have tried everything that was possible (given my knowledge of the problem) and I have not been able to make XMSDSK work without problems.

I have Windosws 98 SE installed on an Asrock 4coredual-sata2 -Intel core 2 quad processor -2 Gb of DDRII -

I have developed the idea that the MaxFileCache entry does not solve definetely the out of memory error.

In some cases no matter what the entry for the MaxFileCache or for MaxPhysPage I got an out of memory error when starting dos.

(I have verified memory values with system monitor)


My failed attempts


Even in the most favourable situation after starting 6 instances of dos windows,

the out of memory error appears again.

At one point I was able to make XMSDSk work without problem with:

c:\ramdisk\xmsdsk.exe 500000 z: /T /Y

(in autoexec.bat.)

At that point I did loose completely the use of Dos window.

(It is like some important memory resources are taken by the video card or something else and I have no clue about what is it! even if I have developed the idea that the solution is not in the maxfilecache settings : the solution must be in some kind of wise memory management I cannot find)


My present configuration (without XMSDSK)


I have upgraded to service pack 2 for 98 SE.

and my present settings are:


mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)

mode con codepage select=850

keyb it,,C:\WINDOWS\COMMAND\keyboard.sys








mouse=*vmouse, msmouse.vxd













(rest is omitted)






device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)


(I have tried and cannot use UMBPCI.SYS at the place of EMM386 cause my motherboard is not supported)

EMM386.exe did work only with the setting: X=A000-F7FF .

I do not think that EGOvoruhk either has solved the problem????

In this configuration I am able to start 2 (two) fresh dos windows before I get the out of memory at the 3rd dos istance.


XMSDSK Failure


Whenever XMSDSK succesfully creates a ram drive then my dos windows become unavailable for the "out of memory error"

MOREOVER XMSDSK does not work properly: when I start the scandisk, to check the sectors into the ramdrive Z, the write attempt fails after a while.

A more simple copy write attempts fails too.

The failure happens not at a specific point.

what happens is that I got a blue screen with not recoverable error sayng things like:

"An exception 0E has occurred at 0028:C0004D6D in VxD Vmm(01) + 00003D6D. This was called from 0028:C19359C4 in Vxd Rmm(01) + 00000254"

I have tried many different settings for XMSDSK.

(Some example :

c:\ramdisk\xmsdsk.exe 1800000 z: /T /Y

c:\ramdisk\xmsdsk.exe 1100000 z: /c1 /T /Y

c:\ramdisk\xmsdsk.exe 500000 z: /T /Y

c:\ramdisk\xmsdsk.exe 500000 z: /c64 /T /Y

c:\ramdisk\xmsdsk.exe 500000 z: /c1 /T /Y


Link to post
Share on other sites

First of all: remove EMM386 from your CONFIG.SYS! It's not required for windows and this results in memory management way worse than standalone VMM.VxD. And in the configuration you are using it, it is not able to provide UMB, so it is pointless to use it anyway. And don't forget to change the DOS statement to "DOS=HIGH" without the ", UMB".

Now, Exception 0E is a Page Fault. XMSDSK is trying to access memory that isn't there. I think I know why, so bear with my somewhat longish reflection below, please.

Some time ago, Tihiy (in this post) pointed to a russian language page, by Igor Petrovitch Leyko (Nov 03, 2005), about win 98 memory problems (link), and while no automatic translator did a good job at translating it, Google Language Tools gave me a good start, and from that start I've done my best to produce a good enough English translation of a short excerpt of that page, which I find relevant to the present discussion:

"Right-click on the My Computer icon, choose Properties from the menu, then the Device Manager tab. Right-click the Computer icon (at the top of the list) and then choose Properties. In the window that appears, choose Memory. In the resulting list of addresses assigned to devices locate the first entry from the fourth gigabyte (= the range C0000000-FFFFFFFF). The entry you want is the one that has the address nearer to C0000000 or farther from FFFFFFFF (which are two ways of saying the same thing). Subtract C0000000 from that hexadecimal number you just found (using the the standard Windows calculator's Hex mode), convert the result to decimal (by selecting the calculator's Dec mode) and divide by 1024 (all of the calculation is easily done with the calculator in scientific mode). The resulting number is the maximum allowable size of the disk cache (it is stated in kilobytes). Open the system.ini file, find the section [VCache] and fill it with a string MaxFileCache = xxx, where xxx is the number you just calculated. If you later add another hardware device to the computer, it may require the repetition of these calculations, and will leave less space for the cache."

Just to avoid any misunderstandings, let me say that, in my own system, when I perform the above procedure, I find, as the device with lowest memory address range: "EC800000-EC8000FF Via Rhine II Fast Ethernet Adapter" and hence, by doing the calculations with EC800000, reach a value of 729088 kB.

But the real problem is what does this value really mean?

Well, my own experiments show that if I set MaxFileCache=729088 or to any value above 131072, I get "Insufficient Memory to Initialize Windows" and the system simply doesn't start at all. Yet, MaxFileCache=131072 still leads to a "There is not enough memory available to run this program" on starting a DOS box, usually the third or the fourth, sometimes even the first. So I settled down to use MaxFileCache=114688, and now I can start 28+ DOS boxes, before getting the "There is not enough memory available to run this program" error. All this using a XMSDSK of 262272 kB, and having an AGP aperture of 65536 kB. But if I expand or reduce the XMSDSK size, the number of DOS boxes I can open diminishes or increases, respectively. Further tests seem to indicate that the memory value reached per Igor Leyko's proposed calculation is the total memory pool available for XMSDSK, VCache, the AGP aperture, and the DOS boxes. In my system this means 262272+114688+65535=442496 and 729088-442496=286592 is the free space my DOS boxes use, when created. Bear in mind that my system has 1.5 GB of RAM and I'm using MaxPhysPage=48400 (1156 MB) now. Be warned that, except for the text from Igor Leyko that I cited, all the conclusions presented here are mine own, based solely on my limited experiments on my own computer, so: (1) I may be wrong and (2) even if I'm not, YMMV. Happy holidays!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...