Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

"Not Enough Memory" error discussion

- - - - -

  • Please log in to reply
30 replies to this topic

#1
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
Hi. i was trying to fix this issue because for me is necessary to run som dos based aplications even in windows and this can cause serious errors while running them - including installation of Unofficial service pack. I thing i found a fix.

There are several reasons why this error occur. Mostly is caused by some graphics adapters, or by large ram and by system settings in config sys and system.ini.

Fixing of problem depends on the reason of memory insufficiency.

1. Dos based programs
- it is absolutely necessary for them to have enough memory to run. Mostly it means conventional memory.

2. Command.com and command line programs (*.bat, mem, or other w32 apps running in dos window)
- here are mixed reasons why the will not run. They need conventional memory, and they need classic windows memory to run.

3. Windows based applications
- here is only one reason - lack of free system ram.

This error occurs even when you have really large ram and have large virtual memory swapfile so the reason is not the amount of ram at all, but mostly the memory management.

I used some critical applications where this error can cause trouble to diagnose the problem and now i am sure that it is caused by too large MaxFileCache value.

Here are the lines which i used in system ini and fixed problem.

[vcache]
MaxFileCache=131072
MinFileCache=4096
chunksize=2048
namecache=4096
directorycache=96

To prove that these settings are correct i tried some things.

1.I opened You tube and play any video, then i turned on TV tuner and i watched both videos. If one of them goes blank or is frozen it means that memory is consumed. With setting above it didnt occured.

2. with tv tuner and you tube opened i ran Ultima online by *.bat file. It ran correctly. Then i ran command.com and it worked.

(ultima itself has trouble with lack of memory)

3. Opened Notepad/Metapad and selected quite large text and used copy/paste. With the setting aboe it worked without error.

This positive state didnt changed even when i was using apps for hours without restart.

If the MaxFileCache is larger than 131072 all "Not enough memory" errors appeared again - when the number was larger the intensity of memory errors was greater.


This error is probably linked also with hardware construction and this is the thing i want to discuss

I have 2 HDD, 2 CD roms, Ati Radeon 9800XT, 1,5 gb RAM. I need a feedback from somebody who is using more or less peripherals, different graphics and ram.

System has 1024 Mb of ram and 512 mb of Ramdisk, where the win386.swp is stored.

Try to use vcache settings i have posted and then try to raise Maxfilecache. Good diagnostic tool is any video playing and attempt to run Command line, or copy/pasting blocks of text in notepad.

Before testing be sure that you have enough free conventional memory (at least 450-500 kb)

Report if memory error occur while using 131072 kb of maxfilecache - send here your Vcache section of system ini, config sys, and autoexec.bat file.

Edited by Offler, 09 June 2007 - 02:11 AM.



How to remove advertisement from MSFN

#2
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag

... system.ini:

[vcache]
directorycache=96

directorycache is invalid entry, does not exist anywhere.

HTH

#3
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
this was my source:
http://www.thpc.info/ram/vcache.html

link is on your page and i have no possibility to check which entries are valid or not except clasiccal "try and fail" debugging.

Only entry which matters is Maxfilecache. question is why and how it fixes our trouble...

#4
oscardog

oscardog

    Member

  • Member
  • PipPip
  • 234 posts
  • Joined 29-June 06
The Windows 32-bit protected-mode cache driver (Vcache) determines the maximum cache size based on the amount of RAM that is present when Windows starts. Vcache then reserves enough memory addresses to permit it to access a cache of the maximum size so that it can increase the cache to that size if needed. These addresses are allocated in a range of virtual addresses from 0xC0000000 through 0xFFFFFFFF (3 to 4 gigabytes) known as the system arena.

On computers with large amounts of RAM, the maximum cache size can be large enough that Vcache consumes all of the addresses in the system arena, leaving no virtual memory addresses available for other functions such as opening an MS-DOS prompt (creating a new virtual machine).

#5
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
thanks a lot for explanation.

#6
oscardog

oscardog

    Member

  • Member
  • PipPip
  • 234 posts
  • Joined 29-June 06

thanks a lot for explanation.

A pleasure, interestingly from previous research I understand the vcache driver is internally limited to a maximum of 800 meg, if this could be altered and its other interupts adjusted, I wonder if none of the system.ini tricks would be needed allowing upto the max 4 gig of ram on a 32bit system

#7
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
well the memory management of w98 is quite a mystery for me.

I have 1,5 gb of ram right now and 512 mb is used as ramdisk with swapfile. Somebody here mentioned that win98 does not use Upper memory but if i let it unfilled i cant start my machine and i need to raise amount of ramdisk to 700 mb... If i use umbfill system can start with 1024 mb or ram and 512 mb of ramdisk

I wonder how it works if win98 really dont use free upper memory.

#8
oscardog

oscardog

    Member

  • Member
  • PipPip
  • 234 posts
  • Joined 29-June 06

well the memory management of w98 is quite a mystery for me.

I have 1,5 gb of ram right now and 512 mb is used as ramdisk with swapfile. Somebody here mentioned that win98 does not use Upper memory but if i let it unfilled i cant start my machine and i need to raise amount of ramdisk to 700 mb... If i use umbfill system can start with 1024 mb or ram and 512 mb of ramdisk

I wonder how it works if win98 really dont use free upper memory.

As far as i am aware upper memory blocks in the upper memory area are not available to win98 without a driver such as umbpci which allows them to be used as normal memory if any is left, after any memory resident progs,ramdisk/drivers have been loaded. By disabling your shadow rom and having your drivers loaded from its area. Being that himem.sys has been called via io.sys then extended before a ramdisk has been created via config.sys,autoexec etc, if this results in vcache.vxd only seeing the remaining 1 gig of ram not the full 1.5 gig and allows you to boot normally.

Edited by oscardog, 28 June 2007 - 06:29 AM.


#9
RJARRRPCGP

RJARRRPCGP

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,190 posts
  • Joined 13-April 05
  • OS:XP Pro x64
  • Country: Country Flag

Hi. i was trying to fix this issue because for me is necessary to run som dos based aplications even in windows and this can cause serious errors while running them - including installation of Unofficial service pack. I thing i found a fix.

There are several reasons why this error occur. Mostly is caused by some graphics adapters, or by large ram and by system settings in config sys and system.ini.

Fixing of problem depends on the reason of memory insufficiency.

1. Dos based programs
- it is absolutely necessary for them to have enough memory to run. Mostly it means conventional memory.

2. Command.com and command line programs (*.bat, mem, or other w32 apps running in dos window)
- here are mixed reasons why the will not run. They need conventional memory, and they need classic windows memory to run.

3. Windows based applications
- here is only one reason - lack of free system ram.

This error occurs even when you have really large ram and have large virtual memory swapfile so the reason is not the amount of ram at all, but mostly the memory management.

I used some critical applications where this error can cause trouble to diagnose the problem and now i am sure that it is caused by too large MaxFileCache value.

Here are the lines which i used in system ini and fixed problem.

[vcache]
MaxFileCache=131072
MinFileCache=4096
chunksize=2048
namecache=4096
directorycache=96

To prove that these settings are correct i tried some things.

1.I opened You tube and play any video, then i turned on TV tuner and i watched both videos. If one of them goes blank or is frozen it means that memory is consumed. With setting above it didnt occured.

2. with tv tuner and you tube opened i ran Ultima online by *.bat file. It ran correctly. Then i ran command.com and it worked.

(ultima itself has trouble with lack of memory)

3. Opened Notepad/Metapad and selected quite large text and used copy/paste. With the setting aboe it worked without error.

This positive state didnt changed even when i was using apps for hours without restart.

If the MaxFileCache is larger than 131072 all "Not enough memory" errors appeared again - when the number was larger the intensity of memory errors was greater.


This error is probably linked also with hardware construction and this is the thing i want to discuss

I have 2 HDD, 2 CD roms, Ati Radeon 9800XT, 1,5 gb RAM. I need a feedback from somebody who is using more or less peripherals, different graphics and ram.

System has 1024 Mb of ram and 512 mb of Ramdisk, where the win386.swp is stored.

Try to use vcache settings i have posted and then try to raise Maxfilecache. Good diagnostic tool is any video playing and attempt to run Command line, or copy/pasting blocks of text in notepad.

Before testing be sure that you have enough free conventional memory (at least 450-500 kb)

Report if memory error occur while using 131072 kb of maxfilecache - send here your Vcache section of system ini, config sys, and autoexec.bat file.



Warning, there is a bug that causes the following:

Setting the swap file to bigger than 768 MB causes Windows to think there isn't enough RAM to initialize the GUI!
Asus P5QL Pro, Core 2 Duo E4500, eVGA GeForce 9500 GT with XP Pro x64 Edition -> Works great with Asus P5QL Pro!

#10
myelin

myelin

    Member

  • Member
  • PipPip
  • 154 posts
  • Joined 29-July 06
  • OS:Windows 7 x86
  • Country: Country Flag
I do not know whether this applies to the discussion or not, but i have 128 MB ram and 380 MB swap file, i had a "Not enough Memory error" once and i just raised the swap file size to 420 MB and it was fixed. The Maxfilecache setting is at default 393216. I do not use any minfilecache setting.

#11
charly

charly

    member

  • Member
  • Pip
  • 78 posts
  • Joined 06-February 05

I do not know whether this applies to the discussion or not, but i have 128 MB ram and 380 MB swap file, i had a "Not enough Memory error" once and i just raised the swap file size to 420 MB and it was fixed. The Maxfilecache setting is at default 393216. I do not use any minfilecache setting.


How do you raise the swap file size?

#12
submix8c

submix8c

    Inconceivable!

  • Patrons
  • 4,403 posts
  • Joined 14-September 05
  • OS:none specified
  • Country: Country Flag

How do you raise the swap file size?

Start->Settings->Control Panel->System, then "Performance" tab, "Virtual Memory" box; careful now! Usually "Let Windows Manage..." is the best option unless you may be running out of HDD space. Before you change anything, first check the current Windows\WIN386.SWP size and your Free HDD space. If you give too big/too small, you might lock up the system (correction on this statement?). Also ref. RJARRRPCGP's comment/info...

BTW, good info provided. Admittedly I'm shy of in-depth knowledge of these other points... Perhaps there is a relationship (? input, please)...

Edited by submix8c, 24 July 2007 - 09:51 AM.

Someday the tyrants will be unthroned... Jason "Jay" Chasteen; RIP, bro!

Posted Image


#13
myelin

myelin

    Member

  • Member
  • PipPip
  • 154 posts
  • Joined 29-July 06
  • OS:Windows 7 x86
  • Country: Country Flag

How do you raise the swap file size?

Start->Settings->Control Panel->System, then "Performance" tab, "Virtual Memory" box; careful now! Usually "Let Windows Manage..." is the best option unless you may be running out of HDD space. Before you change anything, first check the current Windows\WIN386.SWP size and your Free HDD space. If you give too big/too small, you might lock up the system (correction on this statement?). Also ref. RJARRRPCGP's comment/info...


Yes exactly. One more thing: If you have two hard drives, then select the hard drive for swap which does not has operating system on it. This way read and writes are increased.

#14
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag
FYI:
http://www.mdgx.com/...ip9.htm#FIXSWAP
http://www.mdgx.com/newtip3.htm#SWAP2
http://www.mdgx.com/newtip15.htm#MXSF
http://www.mdgx.com/98-4.htm#COSW

HTH

#15
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
Generally the more amount of Ram you have, the larger swapfile you have and the larger Vcache is defined this error occurs more and more times :)

Technically Windows 98 SE with some patches can have up to 1gb of classical ram and another 4 gb of virtual ram (swapfile) and of course best performance of virtual ram can be gained with large ramdriver.

the question is if is somebody so mad to build up a system with 5 gigs of ram :)

To use 1gb of ram and 4gb of virtual ram located on harddisk is quite possible but the question is if it can improve or degrade the system performance. At all it is more memory that can be used with a single app.

i tried to set Virtual memory to 4gigs... system was able to run but i experienced trouble. Sound driver was failing..

Edited by Offler, 28 July 2007 - 07:21 AM.


#16
oscardog

oscardog

    Member

  • Member
  • PipPip
  • 234 posts
  • Joined 29-June 06
Technically Windows 98 SE with some patches can have up to 1gb of classical ram
Just out of interest win9x can have 4 gig of "classical" ram being 32bit, altering vcache.vxd might be a start in enabling this.
All the best

#17
marxo

marxo

    UI Designer

  • Member
  • PipPipPip
  • 474 posts
  • Joined 30-September 06
  • OS:Windows 7 x64
  • Country: Country Flag

Technically Windows 98 SE with some patches can have up to 1gb of classical ram
Just out of interest win9x can have 4 gig of "classical" ram being 32bit, altering vcache.vxd might be a start in enabling this.
All the best


You think altering vcache.vxd would help that cause?

Posted Image
You don't wanna click there.


#18
oscardog

oscardog

    Member

  • Member
  • PipPip
  • 234 posts
  • Joined 29-June 06

Technically Windows 98 SE with some patches can have up to 1gb of classical ram
Just out of interest win9x can have 4 gig of "classical" ram being 32bit, altering vcache.vxd might be a start in enabling this.
All the best


You think altering vcache.vxd would help that cause?

Lowering vcache.vxd`s internal limit to 200 meg or so should certainly leave plenty of addresses available in the system arena, this lower amount should also be plenty for the file system drivers to use. If nothing else it will alleviate the required system.ini entries and begin to track down which part prevents us from using the full amount of memory and even going above this limit by using 36 bit (win2k`s method) available in cpu`s from ages ago.
It would be also interesting to find out if it is this file or if not which one that interacts with the cpu memory protection management hardware checking the segment limit in the descriptor table entry.

Edited by oscardog, 30 July 2007 - 06:42 AM.


#19
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
so with the setting from top of this topic i experienced some errors especially after usage of 3d engine and after long hours of system online... I try to lower settings in system ini.

#20
Marius '95

Marius '95

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 12-January 06
  • OS:95
  • Country: Country Flag
I'm using a computer with Epox EP-8KRA2+ and 1GB RAM. This motherboard has PATA, SATA and HPT372 RAID controllers.
Last year I was using just the PATA controller. SATA and RAID were deactivated in BIOS. Win98 ran with no MaxPhysPage and 768 MB cache.
This year I bought 2 HDDs and I activated the RAID controller. I had to reduce cache size to 512 MB to avoid memory errors.
This week I connected a SATA HDD and I activated the SATA controller. Even with cache size set to 64 MB I cannot start windows! Now I'm using MaxPhysPage=2FFFF and I can't open any DOS windows.

I read post #4 where oscardog explained vcache and system arena, and I read some articles on the internet about this subject, but I still don't understand some things:
- How can a 65 KB SATA driver use so much memory in system arena?
- I understand that vcache can use memory from system arena, but why having more RAM creates problems? System arena is a virtual memory with fixed size and address. And why does MaxPhysPage=2FFFF help? How does it affect system arena?
- If vcache uses memory from system arena, can't it be moved somewhere else (private arena or shared arena) with a patch?
- If Windows doesn't have enough memory to start, bootlog always shows that it stops at ESDI_506.PDR. Why?

Edited by Marius '95, 16 July 2008 - 05:25 PM.


#21
Fredledingue

Fredledingue

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,267 posts
  • Joined 10-February 05
  • OS:98SE
  • Country: Country Flag
Maybe wrong ESDI_506.PDR version for your large HDD.
Or you connected Pata and Sata drives at the same time and it's not compatible toghether.

HTASoft.com

superchargedwindows9xig1.png
Still Using W98SE+++ ...Daily.

#22
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
Even XP has trouble with SATA drives. i think that depending on SATA driver it may cause trouble. driver is just not optimized well.

also how big is disk you connected? maybe 137gig patch needs to be extended and included in vcache.vxd.

#23
Marius '95

Marius '95

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 12-January 06
  • OS:95
  • Country: Country Flag

Maybe wrong ESDI_506.PDR version for your large HDD.
Or you connected Pata and Sata drives at the same time and it's not compatible toghether.

ESDI_506.PDR is not used for SATA. SATA uses VIAMRAID.MPD.

Yes, I used all 3 controllers simultaneously:
- PATA: 120GB HDD (Win98) + CD + DVD
- SATA: 500GB HDD
- RAID: 2x500GB RAID 0

When I activate SATA, a new PATA controller is detected but afterwards everything works OK. I didn't notice any performance problems but (because of these memory problems) I keep the SATA HDD as a backup drive and rarely use it.

But I still don't understand why it uses so much memory...
Are there any "generic" drivers for SATA controllers that I can test? Or is there any other "generic" PATA driver that replaces ESDI_506.PDR?*

*I know about VIA Bus Master Miniport Driver. I can't use it. It's incompatible with DVD writing.

Edited by Marius '95, 17 July 2008 - 02:59 PM.


#24
dencorso

dencorso

    Iuvat plus qui nihil obstat

  • Supervisor
  • 6,087 posts
  • Joined 07-April 07
  • OS:98SE
  • Country: Country Flag

Donator

You should use ViaSraid, not ViaMraid... Read these posts here ang grab it here. HTH

#25
Marius '95

Marius '95

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 12-January 06
  • OS:95
  • Country: Country Flag
My objective is to run Win98 with no memory errors with 1GB RAM, all 3 controllers active, 512 MB cache, and no MaxPhysPage. I did some more testing and:
- Using above configuration, memory erros occur only when the HDD is connected to SATA controller, NOT when controller is active but no drive connected.
- I tried many different versions of SATA driver including v2.20. None solved the problem and there were no differences between them. Computer always restarted while loading ESDI_506.PDR. Using MaxPhysPage=2FFFF windows started but DOS windows could not be opened.
- I tried replacing standard PATA driver (containing ESDI_506.PDR) with VIA Bus Master Miniport Driver v3.20b (containing VIADSK.MPD) and EVERYTHING WORKED!!! In fact, PATA performance is improved with this driver. Too bad I can't keep it - no DVD with this driver.

Conclusion: there must be something wrong with ESDI_506.PDR. I belive this is the main cause for memory errors in (my) Win98.
I wish LLXX was here... :(

Does anyone use only SCSI/SATA drives? I wonder how much memory can Win98 use and how big vcache can be if ESDI_506.PDR is not loaded.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users