Offler
Jun 9 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.
MDGx
Jun 14 2007, 06:25 AM
QUOTE (Offler @ Jun 9 2007, 02:09 AM)
... system.ini:
[vcache]
directorycache=96
directorycache is invalid entry, does not exist anywhere.
HTH
Offler
Jun 14 2007, 02:29 PM
this was my source:
http://www.thpc.info/ram/vcache.htmllink 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...
oscardog
Jun 15 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).
Offler
Jun 16 2007, 01:08 PM
thanks a lot for explanation.
oscardog
Jun 25 2007, 07:08 AM
QUOTE (Offler @ Jun 16 2007, 08:08 PM)

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
Offler
Jun 26 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.
oscardog
Jun 28 2007, 05:02 AM
QUOTE (Offler @ Jun 26 2007, 08: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.
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.
RJARRRPCGP
Jun 28 2007, 04:25 PM
QUOTE (Offler @ Jun 9 2007, 04: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.
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!
myelin
Jul 23 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.
charly
Jul 24 2007, 08:58 AM
QUOTE (myelin @ Jul 23 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.
How do you raise the swap file size?
submix8c
Jul 24 2007, 09:48 AM
QUOTE (charly @ Jul 24 2007, 10:58 AM)

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)...
myelin
Jul 24 2007, 02:43 PM
QUOTE (submix8c @ Jul 24 2007, 08:48 PM)

QUOTE (charly @ Jul 24 2007, 10:58 AM)

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.
MDGx
Jul 26 2007, 03:22 PM
Offler
Jul 28 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..
oscardog
Jul 28 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
marxo
Jul 28 2007, 06:31 PM
QUOTE (oscardog @ Jul 29 2007, 02:24 AM)

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?
oscardog
Jul 29 2007, 09:56 AM
QUOTE (marxo @ Jul 29 2007, 01:31 AM)

QUOTE (oscardog @ Jul 29 2007, 02:24 AM)

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.
Offler
Aug 30 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.
Marius '95
Jul 16 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?
Fredledingue
Jul 16 2008, 06:03 PM
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.
Offler
Jul 17 2008, 01:13 AM
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.
Marius '95
Jul 17 2008, 02:55 PM
QUOTE (Fredledingue @ Jul 17 2008, 03:03 AM)

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.
dencorso
Jul 17 2008, 11:25 PM
You should use ViaSraid, not ViaMraid... Read these posts
here ang grab it
here. HTH
Marius '95
Jul 18 2008, 07:50 AM
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.
Philco
Jul 22 2008, 02:13 PM
QUOTE (Marius '95 @ Jul 18 2008, 07:50 AM)

...
I wish LLXX was here...

...
1/ LLXX banned. 2/LLXX migrated to Linux.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.