MSFN Forum: "Not Enough Memory" error discussion - MSFN Forum

Jump to content


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

"Not Enough Memory" error discussion Possible fix found... Rate Topic: -----

#1 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 09 June 2007 - 02:09 AM

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.

This post has been edited by Offler: 09 June 2007 - 02:11 AM



#2 User is offline   MDGx 

  • 98SE2ME + 98MP10
  • Group: Super Moderator
  • Posts: 2,678
  • Joined: 22-November 04
  • OS:none specified
  • Country: Country Flag

Posted 14 June 2007 - 06:25 AM

Offler, on Jun 9 2007, 02:09 AM, said:

... system.ini:

[vcache]
directorycache=96
directorycache is invalid entry, does not exist anywhere.

HTH

#3 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 14 June 2007 - 02:29 PM

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 User is offline   oscardog 

  • Member
  • PipPip
  • Group: Members
  • Posts: 234
  • Joined: 29-June 06

Posted 15 June 2007 - 05:16 AM

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 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 16 June 2007 - 01:08 PM

thanks a lot for explanation.

#6 User is offline   oscardog 

  • Member
  • PipPip
  • Group: Members
  • Posts: 234
  • Joined: 29-June 06

Posted 25 June 2007 - 07:08 AM

View PostOffler, on Jun 16 2007, 08:08 PM, said:

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 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 26 June 2007 - 01:07 AM

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 User is offline   oscardog 

  • Member
  • PipPip
  • Group: Members
  • Posts: 234
  • Joined: 29-June 06

Posted 28 June 2007 - 05:02 AM

View PostOffler, on Jun 26 2007, 08:07 AM, said:

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.

This post has been edited by oscardog: 28 June 2007 - 06:29 AM


#9 User is offline   RJARRRPCGP 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,166
  • Joined: 13-April 05
  • OS:XP Pro x64
  • Country: Country Flag

Posted 28 June 2007 - 04:25 PM

View PostOffler, on Jun 9 2007, 04:09 AM, said:

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!

#10 User is offline   myelin 

  • Member
  • PipPip
  • Group: Members
  • Posts: 153
  • Joined: 29-July 06
  • OS:Windows 7 x86
  • Country: Country Flag

Posted 23 July 2007 - 12:36 PM

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 User is offline   charly 

  • member
  • Pip
  • Group: Members
  • Posts: 78
  • Joined: 06-February 05

Posted 24 July 2007 - 08:58 AM

View Postmyelin, on Jul 23 2007, 12:36 PM, said:

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 User is offline   submix8c 

  • Inconceivable!
  • Group: Patrons
  • Posts: 3,236
  • Joined: 14-September 05
  • OS:none specified
  • Country: Country Flag

Posted 24 July 2007 - 09:48 AM

View Postcharly, on Jul 24 2007, 10:58 AM, said:

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

This post has been edited by submix8c: 24 July 2007 - 09:51 AM


#13 User is offline   myelin 

  • Member
  • PipPip
  • Group: Members
  • Posts: 153
  • Joined: 29-July 06
  • OS:Windows 7 x86
  • Country: Country Flag

Posted 24 July 2007 - 02:43 PM

View Postsubmix8c, on Jul 24 2007, 08:48 PM, said:

View Postcharly, on Jul 24 2007, 10:58 AM, said:

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 User is offline   MDGx 

  • 98SE2ME + 98MP10
  • Group: Super Moderator
  • Posts: 2,678
  • Joined: 22-November 04
  • OS:none specified
  • Country: Country Flag

Posted 26 July 2007 - 03:22 PM

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 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 28 July 2007 - 03:22 AM

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..

This post has been edited by Offler: 28 July 2007 - 07:21 AM


#16 User is offline   oscardog 

  • Member
  • PipPip
  • Group: Members
  • Posts: 234
  • Joined: 29-June 06

Posted 28 July 2007 - 06:24 PM

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 User is offline   marxo 

  • UI Designer
  • PipPipPip
  • Group: Members
  • Posts: 474
  • Joined: 30-September 06
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 28 July 2007 - 06:31 PM

View Postoscardog, on Jul 29 2007, 02:24 AM, said:

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?

#18 User is offline   oscardog 

  • Member
  • PipPip
  • Group: Members
  • Posts: 234
  • Joined: 29-June 06

Posted 29 July 2007 - 09:56 AM

View Postmarxo, on Jul 29 2007, 01:31 AM, said:

View Postoscardog, on Jul 29 2007, 02:24 AM, said:

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.

This post has been edited by oscardog: 30 July 2007 - 06:42 AM


#19 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 30 August 2007 - 02:38 AM

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 User is offline   Marius '95 

  • Member
  • PipPip
  • Group: Members
  • Posts: 122
  • Joined: 12-January 06
  • OS:95
  • Country: Country Flag

Posted 16 July 2008 - 05:15 PM

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?

This post has been edited by Marius '95: 16 July 2008 - 05:25 PM


Share this topic:


  • 2 Pages +
  • 1
  • 2
  • 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