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

Jump to content


  • 7 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Help: I need to Get 2GB installed RAM working in Win98SE Limiting MaxPhysPage/MaxFileCache doesn't work Rate Topic: -----

#1 User is offline   EGOvoruhk 

  • Newbie
  • Group: Members
  • Posts: 43
  • Joined: 04-June 07

Posted 21 December 2007 - 12:37 AM

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


#2 User is offline   galahs 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 401
  • Joined: 01-December 05

Posted 21 December 2007 - 12:52 AM

Try these threads:

http://www.msfn.org/...howtopic=107342

http://www.msfn.org/...howtopic=105373

http://www.msfn.org/...showtopic=99263

#3 User is offline   Ninho 

  • Member
  • PipPip
  • Group: Members
  • Posts: 166
  • Joined: 05-March 06

  Posted 21 December 2007 - 06:14 AM

View PostEGOvoruhk, on Dec 21 2007, 08:37 AM, said:

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 !

Cheers

--
Ninho

#4 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,860
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 21 December 2007 - 10:04 AM

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?

#5 User is offline   EGOvoruhk 

  • Newbie
  • Group: Members
  • Posts: 43
  • Joined: 04-June 07

Posted 21 December 2007 - 12:14 PM

View Postdencorso, on Dec 21 2007, 08:04 AM, said:

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


Nope. No XMSDSK here

View Postdencorso, on Dec 21 2007, 08:04 AM, said:

What is the AGP aperture you are using?


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

View Postdencorso, on Dec 21 2007, 08:04 AM, said:

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

View Postdencorso, on Dec 21 2007, 08:04 AM, said:

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

#6 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,860
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 22 December 2007 - 12:25 AM

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.

#7 User is offline   galahs 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 401
  • Joined: 01-December 05

Posted 22 December 2007 - 07:17 PM

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

#8 User is offline   diskless 

  • Newbie
  • Group: Members
  • Posts: 40
  • Joined: 26-January 07

Posted 23 December 2007 - 04:34 PM

View Postgalahs, on Dec 23 2007, 02:17 AM, said:

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)

#9 User is offline   galahs 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 401
  • Joined: 01-December 05

Posted 23 December 2007 - 10:51 PM

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.

#10 User is offline   oddjob 

  • Group: Members
  • Posts: 1
  • Joined: 24-December 07

Posted 24 December 2007 - 08:27 AM

View Postgalahs, on Dec 24 2007, 04:51 AM, said:

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

#11 User is offline   vick1111 

  • Newbie
  • Group: Members
  • Posts: 26
  • Joined: 17-November 07

Posted 24 December 2007 - 10:22 AM

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

#12 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,860
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 25 December 2007 - 10:23 PM

View Postgalahs, on Dec 21 2007, 03:52 AM, said:


There is one more thread worth reading:
http://www.msfn.org/...showtopic=79756

#13 User is offline   vick1111 

  • Newbie
  • Group: Members
  • Posts: 26
  • Joined: 17-November 07

Posted 30 December 2007 - 11:25 AM

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:

autoexec.bat
mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
keyb it,,C:\WINDOWS\COMMAND\keyboard.sys
LH /L:2 C:\WINDOWS\COMMAND\DOSKEY /INSERT
PROMPT $p$g
SET DIRCMD=/P /A

system.ini

[386Enh]
MaxPhysPage=40000
ebios=*ebios
mouse=*vmouse, msmouse.vxd
device=*dynapage
device=*vcd
device=*vpd
device=*int13
woafont=app850.fon
keyboard=*vkd
MinSPs=16
ConservativeSwapfileUsage=1
DMABufferSize=64

[vcache]
MinFileCache=3000
MaxFileCache=393216

(rest is omitted)

config.sys
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF /Q
DOS=HIGH,UMB
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS X=A000-F7FF
DEVICE=C:\WINDOWS\setver.exe
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=039,850,C:\WINDOWS\COMMAND\country.sys


(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
)

#14 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,409
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 30 December 2007 - 12:28 PM

Cannot really say if it can help, not even if it works at all, but you can try using the "other" DOS ramdisk, SRDISK:
http://sourceforge.net/projects/srdisk

jaclaz

#15 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,860
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 30 December 2007 - 06:03 PM

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:

Quote

"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!

#16 User is offline   vick1111 

  • Newbie
  • Group: Members
  • Posts: 26
  • Joined: 17-November 07

Posted 31 December 2007 - 03:07 AM

Thanks Dencorso, I am going to use your suggestions. The russian page seems to contain useful concepts (too bad it is not in english) !

In the Mean while
Happy new year and Best wishes for a better 2008 to everyone in this forum!!!

#17 User is offline   diskless 

  • Newbie
  • Group: Members
  • Posts: 40
  • Joined: 26-January 07

Posted 31 December 2007 - 05:50 PM

View Postdencorso, on Dec 31 2007, 01:03 AM, said:

<snip>
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!

My Win98SE system has 512MB total RAM, with 384MB used as an XMSDSK RAM drive. After hours of image editing, browsing, emailing and whatnot, I closed all the apps apart from one Explorer window and then started a DOS box test. I ran out of memory on the 84th MS-DOS Prompt. What am I doing wrong? :lol:

This post has been edited by diskless: 03 January 2008 - 11:55 AM


#18 User is offline   gosh 

  • gosh 2.0
  • Group: Patrons
  • Posts: 2,347
  • Joined: 03-October 03
  • OS:none specified
  • Country: Country Flag

Posted 31 December 2007 - 05:54 PM

It's important to remember that in windows 98 the limit is not really the memory, but the SYSTEM RESOURCES. Win9x has a limit for how much memory it can use for stuff such as paint brushes, handles, things like that. So even if you have 2 gigs of ram you might only have 70% system resources free and might run out of memory. This is a system limitation which is not in Windows NT. You're better off just limiting the memory win98 can use up to 1 gig. Windows 98 was not tested for use over 1 gig and has bad performance over 1 gig of memory.

-gosh

#19 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,860
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 31 December 2007 - 11:40 PM

@diskless: You're doing nothing wrong, but with just 512 MB you'll NOT run into any of the problems/limitations that appear on machines with thrice or more that amount of RAM, no matter what strange configuration you use.

My point was that during startup Windows remaps all XMS memory already alocated before starting Windows to addresses in the fourth GB (downwards from 4 to 3 GB, starting at the highest free address) just as if that memory was owned by some hardware device, and all free memory that it can see (up to 1156 MB, AFAIK, with an unpatched VMM.VxD) in a continuous block starting at 0 GB upwards, and I have no firm idea about what it does with any remaining memory (but it seems reasonable to imagine it would be mapped just above the end of the memory Windows detects). To form a picture of what I'm talking about, just imagine the following case: 2 GB of RAM of which 512 MB is allocated to XMSDSK and 1156 MB as normal memory: where will the remaining 380 MB be allocated? Bear in mind that HIMEM sees it all... And then, there still remain the AGP aperture and VCache to consider, but such memory is mapped in the 4th gigabyte, anyway...

@gosh: very true. We're still looking for ways to overcome the Resources limitation.

@Ninho (in view of the post below): Thanks for the corrections, you are right, of course! And yes, I am talking about virtual memory addresses. Windows organizes its virtual memory arena as 1GB for devices and the like (the 4th GB) on top of 3GB of system's and applications' space, whatever the real amount of RAM present.... I have now corrected the text above, using a red font for the corrections. You rock! :thumbup

This post has been edited by dencorso: 02 January 2008 - 08:48 PM


#20 User is offline   Ninho 

  • Member
  • PipPip
  • Group: Members
  • Posts: 166
  • Joined: 05-March 06

  Posted 02 January 2008 - 08:53 AM

@dencorso : "Windows remaps all XMS memory already alocated before starting Windows to addresses in the fourth MB (downwards from 4 to 3 MB, starting at the highest free address) just as if that memory was owned by some hardware device, "
"And then, there still remain the AGP aperture and VCache to consider, but such memory is mapped in the 4th megabyte, anyway..."

I guess you mean GiB, not Megs... Surely a typo, though an unfortunate one since the subj is already clear as mud...

Also for things to be as clear as possible, I guess your are talking in terms of virtual, not physical addresses. This may be self evident, but I'm sure more than one has been confused over such subtleties.

With this in mind, let's see if I understood well : dare I ask, what you are saying amounts to Windows/VMM at startup remapping to system memory space (the 3rd virtual gigabyte) any XMS memory blocks that were allocated (in DOS presumably) before Win started ? Makes sense !

--
Ninho

Share this topic:


  • 7 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy