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

VCACHE fix attempt

- - - - -

  • Please log in to reply
97 replies to this topic

#26
galahs

galahs

    Advanced Member

  • Member
  • PipPipPip
  • 401 posts
  • Joined 01-December 05
I had Win98 installed on my Pentium 4 which has 1.5GB of RAM.

I got the famous "Insufficient memory to initialize windows. Quit one or more memory-resident programs or remove unnecessary utilities from your Config.sys and Autoexec.bat files, and restart your computer."

So I used the MaxPhysPage=40000 line limiting the computer to using just under 1GB and the computer ran without a problem.

That was using default system.ini values (No MaxFileCache, no conservativeswapfile settings).

Based on further reading I now believe I should have added the MaxFileCache=261120 (or something less than 512000) but I must not have had Windows use enough DiskCache to run into this lack of memory addresses problem.


So my chart would read the following

RAM ... MaxFileCache

8 . . . . . leave as default
16 . . . . leave as default
32 . . . . leave as default
48 . . . . leave as default
64 . . . . 49152 + ConservativeSwapfileUsage=0
128 . . . 98304 + ConservativeSwapfileUsage=0
256 . . . 184320 + ConservativeSwapfileUsage=1
512 . . . 261120 + ConservativeSwapFileUsage=1
768 . . . 261120 + ConservativeSwapFileUsage=1
1024 . . 261120 + ConservativeSwapFileUsage=1
1536 . . 261120 + ConservativeSwapFileUsage=1
2048 . . ???

I would leave the ChuckSize as the default 512. I have seen no proof that larger chuck sizes increase performance.
I would have NO MinFileCache value.

I picked 261120 to allow enough memory addresses for users with a 256MB AGP graphics cards. Also I don't think too many people would see much benefit of having a diskcache over 255 MB.
.

Edited by galahs, 17 October 2007 - 04:34 AM.

Posted Image
Australia, it's time we became a Republic!



How to remove advertisement from MSFN

#27
dencorso

dencorso

    Iuvat plus qui nihil obstat

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

Donator

I managed to get my system to work with 1536 MB. :hello:
I am loading XMSDSK from config.sys, using INSTALL=E:\UTIL\XMSDSK.EXE 292992 N: /c1 /t /y
So, here are my initial results (using MaxFileCache=65535):
No MaxPhysPage or MaxPhysPage >= 48D00 -> "Insufficient Memory to Initialize Windows"
MaxPhysPage = 48C00 (1164 MB) works, but Win 98SE sees only 1162 MB. It is the absolute maximum that works.
MaxPhysPage = 48B00 (1163 MB) works, but Win 98SE sees only 1161 MB.
These two configurations above sometimes start OK, sometimes throw "Insufficient Memory to Initialize Windows".
MaxPhysPage = 48A00 (1162 MB) works, but Win 98SE sees only 1160 MB;
MaxPhysPage = 48900 (1161 MB) works, but Win 98SE sees only 1159 MB;
MaxPhysPage = 48899 (1161 MB) works, but Win 98SE sees only 1159 MB;
MaxPhysPage = 48800 (1160 MB) works, but Win 98SE sees only 1158 MB.
I stopped here and am testing the stability of this configuration. * If I set MaxFileCache=131072, it starts, but I get "There is not enough memory available to run this program" at some point, even with cpu-z.
And if I set MaxFileCache=262144, I just get "Insufficient Memory to Initialize Windows" and the system simply doesn't start at all.

Added 18th October 2007 - 06:40 PM:
* My stability tests on the 1158 MB show that it is stable, at least for 8h. So I reduced some more the value of MaxPhysPage, in order to find the highest value that windows accepted without displaying that strange behaviour of detecting the requested value minus 2 MB (which is a bug I never had read about before!).
MaxPhysPage = 48600 (1158 MB) works, but Win 98SE sees only 1156 MB;
The above is the smallest value with which windows still detects the requested value minus 2 MB.
So, the setting below is the maximum that behaves as expected. I'm using it now (1157 MB).
MaxPhysPage = 48500 (1157 MB) works, and Win 98SE sees all 1157 MB;
MaxPhysPage = 48400 (1156 MB) works, and Win 98SE sees all 1156 MB.
More later. HTH.

Added 22nd October 2007 - 05:33 AM:
Sorry, sorry, everybody! :blushing: I made a mess of this post when I wrote it and it eluded me up to now! I fell victim of the "paste bug" and pasted MaxFileCache where I should have written MaxPhysPage, meaning to modify it, and just forgot to do it. :blushing: Now it is as it should be. Sorry!

BTW, I'm presently using MaxPhysPage = 48600 and MaxFileCache=98304, without any problems, for the last two days. I'll try again to raise MaxFileCache (yes, MaxFileCache!) a little more tomorrow...

#28
Analada

Analada

    Member

  • Member
  • PipPip
  • 151 posts
  • Joined 10-December 06

This website: http://adriansrojakp...peed_Demonz.htm is the first one I have found that actually done some benchmark testing to see the improvement using MaxFileCache and Chunksize settings.

The conclusion was the stock 512 byte chunk size was the best performer and that limiting the MaxFileCache didn't improve performance.

Thanks for this info. I have been following this thread with interest, and have tried various settings. I have 1GB RAM and also have under [386Enh]:

MaxPhysPage=40000
MinSPs=16
ConservativeSwapfileUsage=1
DMABufferSize=64

WITHOUT DOUBT the setting that has worked best under [vcache] -- that makes most use of the 1GB RAM fitted -- is this:

MaxFileCache=522240
MaxPhysPage=40000

So, I think that's good advice (above). I found that other settings, such as limiting MaxFileCache didn't take advantage of the 1GB RAM (which often still had 700MB left after several hours of working. Now, at last, most of the 1GB is getting used.

#29
galahs

galahs

    Advanced Member

  • Member
  • PipPipPip
  • 401 posts
  • Joined 01-December 05
That is exactly my thought.

Having lots of un-used RAM is wasted RAM.

Windows FileCache is used to speed up Windows. The more RAM you allow it to use the faster your windows experience will be. And Windows is clever enough that if a program your running needs more RAM to run a program, it will decrease the size of its FileCache.


That is why I still think users are setting MaxFileCache too low.



The other thing we need to clarrify is the effect of VideoMemory on memory address allocation.

How does using a graphics card with a large memory (64MB +) affect the highest allowable MaxFileCache value?

Posted Image
Australia, it's time we became a Republic!


#30
galahs

galahs

    Advanced Member

  • Member
  • PipPipPip
  • 401 posts
  • Joined 01-December 05

MORE INFORMATION
Vcache is limited internally to a maximum cache size of 800 MB.

This problem may occur more readily with Advanced Graphics Port (AGP) video adapters because the AGP aperture is also mapped to addresses in the system arena. For example, if Vcache is using a maximum cache size of 800 MB and an AGP video adapter has a 128-MB aperture mapped, there is very little address space remaining for the other system code and data that must occupy this range of virtual addresses.


Posted Image
Australia, it's time we became a Republic!


#31
soporific

soporific

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 705 posts
  • Joined 12-June 05
thanks to everyone for their replies and stay tuned for my new table! I may even make Dencorso happy with this one :lol:

#32
galahs

galahs

    Advanced Member

  • Member
  • PipPipPip
  • 401 posts
  • Joined 01-December 05
I noticed on some newer AGP motherboards they can allow an AGP Apperature of up to 512MB!!!!
If you chose that you would have already hit Windows98 Memory Address limitation.

Remember, you AGP Apperature and and MaxFileCache value when combined, cannot = more than 512MB!!!

Posted Image
Australia, it's time we became a Republic!


#33
soporific

soporific

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 705 posts
  • Joined 12-June 05

I noticed on some newer AGP motherboards they can allow an AGP Apperature of up to 512MB!!!!
If you chose that you would have already hit Windows98 Memory Address limitation.

Remember, you AGP Apperature and and MaxFileCache value when combined, cannot = more than 512MB!!!

yes but in those cases, surely it would be up to the user to notch the value down. I wonder if there is a command line tool that would tell us how much video memory is being assigned. Then we could overcome even this.

Here's my new table:

Posted Image

reasoning:

* why are there no settings for 64 MB RAM and under? MS recommended 64 as the RAM to use for optimal usage at the time the OS was designed/released. I trust they know what's best for these RAM sizes. If anyone has documentation that says the opposite, please post a link.

* No MinFileCache setting: i agree that there isn't any good reason behind setting a minimum MinFileCache value ... well, no reason i know of.

* the 1 gig settings: I think that if MS knew about the 1 gig limit and assumed that a user may have this, then i would think it safe to allow the maximum MaxFileCache setting possible as opposed to an 'optimal' setting. I find the arguments of people who have tested extensively with 1 gig compelling to use.

* The Chunk File settings: - as i understand how chunk file settings work, i don't agree with leaving this at 512 for the higher RAM values. I must admit to not having tested this idea out in practice but you can't just create any old test to prove whether this will improve performance, i'm yet to be convinced of whats been said so far. Theoretically, if you have lots and lots of RAM, using larger chunks is more efficient when moving large amounts around. Whether or not you get much of a % increase in completion time is what i would be interested in.

and UBCD 4.6.2 will be setting MaxPhysPage lower than 39000 because users with more than 1280 will not get thru the install process. I have just tested with 20000 then and it works, 39000 didn't work and this was without any AGP aperture setting of note.

Edited by soporific, 22 October 2007 - 04:30 AM.


#34
galahs

galahs

    Advanced Member

  • Member
  • PipPipPip
  • 401 posts
  • Joined 01-December 05
No real complaints from me :thumbup


Personally I don't think you wouldn't often need a MaxFileCache value over 255MB (unless operating as a FileServer) but other than that the values look good! :thumbup

Edited by galahs, 22 October 2007 - 06:48 AM.

Posted Image
Australia, it's time we became a Republic!


#35
Marius '95

Marius '95

    Member

  • Member
  • PipPip
  • 122 posts
  • Joined 12-January 06
  • OS:95
  • Country: Country Flag
Free memory means memory NOT USED! If I have a lot of memory, why not use it for disk cache if no other program needs it? Why leave it free?
I have 1GB and 768MB are used for disk cache. Swap is enabled, but it's rarely used.

#36
RJARRRPCGP

RJARRRPCGP

    MSFN Expert

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

I had Win98 installed on my Pentium 4 which has 1.5GB of RAM.

I got the famous "Insufficient memory to initialize windows. Quit one or more memory-resident programs or remove unnecessary utilities from your Config.sys and Autoexec.bat files, and restart your computer."


I gotten that error message (or similar) just by setting the swap file to bigger than 768 MB! That's a new bug I found!

Have you ever saw that before?
Asus P5QL Pro, Core 2 Duo E4500, eVGA GeForce 9500 GT with XP Pro x64 Edition -> Works great with Asus P5QL Pro!

#37
dencorso

dencorso

    Iuvat plus qui nihil obstat

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

Donator

I had Win98 installed on my Pentium 4 which has 1.5GB of RAM.

I got the famous "Insufficient memory to initialize windows. Quit one or more memory-resident programs or remove unnecessary utilities from your Config.sys and Autoexec.bat files, and restart your computer."


I gotten that error message (or similar) just by setting the swap file to bigger than 768 MB! That's a new bug I found!

Have you ever saw that before?


Lots of times! :wacko: Please read all posts in this thread from, at least, post # 10 and follow the links therein. You'll will find lots of interesting info on that matter in them. :whistle:

Edited by dencorso, 22 October 2007 - 10:11 PM.


#38
dencorso

dencorso

    Iuvat plus qui nihil obstat

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

Donator

* the 1 gig settings: I think that if MS knew about the 1 gig limit and assumed that a user may have this, then i would think it safe to allow the maximum MaxFileCache setting possible as opposed to an 'optimal' setting. I find the arguments of people who have tested extensively with 1 gig compelling to use.


Sorry, soporific, but I still disagree. :)

1) RAM 1024 WRAM 922 MaxFileCache=522240 is a daring setting that only a few can use. Gape found it already and revised his tweak in sesp 2.0.1 and later to MaxFileCache=393216 (see item 2.0.1 in post #1). Eck also agrees, as you know. I used that value initially, but eventually got "out of memory" errors every now and then. So I did some tests and decided to set MaxFileCache=262144, which never gave me any grief. My system ran OK with that setting for about a year, with uptimes up to 40h, before I shut it down. If you want a general setting, use MaxFileCache=262144.

2) I am using RAM 1536 WRAM 1156 for less than a week, and engaged in heavy experimenting, at present. I can confirm that MaxFileCache=65535 works, but now I know 98304 is also OK. I'll now try 114688 and report my results, as soon as I have them. I do believe Offler's statement that 131072 is problematic.
[New text, added 1st November 2007 - 03:15 AM:] Yes, MaxFileCache=114688 works OK! [New text ends].

3) For RAM > 1536 I think more testing is needed, but I haven't the memory to do it. So I'd stick to Andy Aronoff's
MaxFileCache=29696 (with ChunkSize=512), because of his reporting that more than 30000 prevents windows from starting.

4)Above RAM 2048 I still think is a place no one has ever gone before... ;)

Your other settings seem very sensible to me, and I do agree with them.

If anyone here has, or has had, a system running stably with 2048MB or more of RAM, please do tell us about your experience. :hello:

Edited by dencorso, 01 November 2007 - 12:18 AM.


#39
Analada

Analada

    Member

  • Member
  • PipPip
  • 151 posts
  • Joined 10-December 06

* the 1 gig settings[/b]: I think that if MS knew about the 1 gig limit and assumed that a user may have this, then i would think it safe to allow the maximum MaxFileCache setting possible as opposed to an 'optimal' setting. I find the arguments of people who have tested extensively with 1 gig compelling to use.

I can confirm that since using maximum MaxFileCache on my 1GB RAM win98SE PC, the following have been noticed:

* Faster operation (intuitive feel)
* Hardly any disk caching activity when using firefox and other memory "keen" apps
* No shut-down problems (sometimes had these)

[vcache]

MaxFileCache=522240
MaxPhysPage=40000

[386Enh]
...
MaxPhysPage=40000
MinSPs=16
ConservativeSwapfileUsage=1
DMABufferSize=64

#40
MDGx

MDGx

    98SE2ME + 98MP10

  • Super Moderator
  • 2,678 posts
  • Joined 22-November 04
  • OS:none specified
  • Country: Country Flag
These are iexpress installers for Xeno86's files:

* Unofficial Windows 98 SE Out Of Memory Errors VCACHE.VXD 4.10.2223 Fix:
http://support.micro....com/?id=253912
- VCACHE.VXD Fix [118 KB, English + Polish]:
http://www.mdgx.com/files/Q253912.EXE
- VCACHE.VXD Fix [122 KB, French]:
http://www.mdgx.com/files/Q253912F.EXE
More info:
http://www.msfn.org/...howtopic=105373
IMPORTANT:
This VCACHE.VXD Fix is experimental!

Details [pops up whenever you install Q253912]:

Unofficial Windows 98 SE Out of Memory Errors Q253912 VCACHE.VXD 4.10.2223 Fix
VCACHE Fix attempt by Xeno86

EXTREMELY IMPORTANT:
You MUST REBOOT at END of INSTALL for this Fix to complete properly!
Do NOT install this Fix MORE THAN ONCE WITHOUT REBOOTING AFTER FIRST INSTALL!

This is an Unofficial attempt to fix "Out of Memory" Error Messages with Large Amounts (768 MB or 1 GB or more) of RAM Installed problem described in Knowledge Base (MSKB) article KB253912 (Q253912):
http://support.micro....com/?id=253912

DESCRIPTION:
Normally VCache driver calculates maximum cache size based on the amount of memory (RAM) present. While this works OK for computers with less or equal 512 MB of memory, on computers with more memory VCache allocates too much memory from system area and you can experience problems (see KB article above).
This fix limits maximum cache size allocated dynamically to 384 MB thus removing the need to apply any of the workarounds mentioned in the KB article.
Power users however have the ability to set the limit to a different value (lower or higher) through the MaxFileCache entry under the [vcache] section in the SYSTEM.INI file found in %windir% [%windir% = usually C:\WINDOWS].
Generic example:

[vcache]
MaxFileCache=24576

Edit SYSTEM.INI with Notepad or similar plain text/ASCII editor:
http://www.mdgx.com/toy.htm#TXT
or use Sysedit:
%windir%\SYSTEM\SYSEDIT.EXE

Everything here applies only to English + Polish editions. [?]

This fix/update is cumulative. This means it includes ALL BUG fixes from all previous official + unofficial patches/(hot)fixes/updates. Do NOT replace with ANY other older file version(s) UNLESS having problems with current file version(s).

NOTE:
Provided 'as is', without any warranties, expressed or implied.
Use at your own risk!

INSTALL:
This fix installs VCACHE.VXD 4.10.2223 into %windir%\SYSTEM\VMM32 [%windir% = usually C:\WINDOWS].
This fix also renames existing %windir%\SYSTEM\VMM32\VCACHE.VXD (if any) to VCACHE.VXO , which is used by Uninstall (see below) to restore original file (if any).

UNINSTALL:
How to uninstall this fix and restore original file (if any):
Start button -> Settings -> Control Panel -> Add/Remove Programs -> select "Unofficial Out of Memory Errors Q253912 VCACHE.VXD Fix" -> click Add/Remove button -> reboot.

USEFUL LINKS:
- Windows 98 SE "Out of Memory" Errors with > 1 GB RAM VCACHE.VXD Patch MSFN forum:
http://www.msfn.org/...howtopic=105373
- Windows 98 SE "Not Enough Memory" error discussion, possible fix found:
http://www.msfn.org/...memory problems
- MicroSoft Knowledge Base (MSKB) Article Q253912:
http://support.micro....com/?id=253912

Enjoy.
__________________________

Xeno86:
Could you please post the English build of VCACHE.VXD 4.10.2223?
Thanks.

#41
niknak

niknak

    Newbie

  • Member
  • 28 posts
  • Joined 29-April 07
Having just installed this patch to try to solve another problem, my system which has 2GB RAM and having remarked out all vcache entries in the system.ini file rebooted just fine (except for the original problem :( ) and system said it saw 1022MB RAM which is just dandy :yes:

#42
soporific

soporific

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 705 posts
  • Joined 12-June 05

Xeno86:
Could you please post the English build of VCACHE.VXD 4.10.2223?
Thanks.

yes, please do so ASAP, i would like the new version in AP.

Edited by soporific, 23 January 2008 - 11:34 AM.


#43
RetroOS

RetroOS

    Senior Member

  • Member
  • PipPipPipPip
  • 531 posts
  • Joined 26-June 07
  • OS:Windows 7 x64
  • Country: Country Flag
I had 1GB of RAM using the following settings:

BIOS:
AGP Aperture Size=256MB

SYSTEM.INI:
ConservativeSwapfileUsage=1
MaxPhysPage=40000 (1024MB)
MaxFileCache=393216 (384MB)
Chunksize=2048
MinFileCache=131072 (128MB)

SYSTEM.INI for performance (an advantage of lots of RAM):
DMABufferSize=64
PagingDrive=D: (your fastest drive, or not Windows drive if same speed, or C:)
MinPagingFileSize=1048576 (1024MB - size in KB - MS recommend between RAM and RAM x1.5 - I suggest 1GB for 1GB or more of RAM)
MinSPs=16
KeyBoostTime=0.1
MinTimeSlice=80
RemovableIDE=1
PageBuffers=32

I have now added 512MB to a total of 1.5GB and tried to boot with the same settings...
Windows got as far as initialising the display driver and stopped with random vertical orange bars on the screen...
Windows still let me do a double Ctrl-Alt-Delete reboot to flush the disk cache etc.
So, I changed the following settings based on experience in this and other threads:

SYSTEM.INI:
MaxPhysPage=48000 (1152MB)
MaxFileCache=114688 (112MB)
Chunksize=1024
(MinFileCache undefined)

Windows now got as far as the desktop, but the display driver failed to initialise and so I got Standard VGA...
I then made the following change and everything works now (been working for 24 hours with some reboots for new updates).

BIOS:
AGP Aperture Size=128MB

I have not used the VCACHE patch yet, but then on it's own, Windows would fail with more than 1GB of RAM anyway...

Does anyone know how to get an address allocation map of the Windows system arena?
This way we could find out exactly what is using address space...
Here is a good MS doc that explains the 9x addressing architecture: http://support.micro...com/kb/q125691/

The design limit of Windows 95 is 2GB according to http://support.micro...com/kb/q181594/
However, Windows 98 and Me are 1GB according to http://support.microsoft.com/kb/304943
The key phrase being "Windows Me and Windows 98 are not designed to handle more than 1 GB of RAM. More than 1 GB can lead to potential system instability."
Go figure! Why would M$ make their newer OSs support less RAM???
Conspiracy theorists would say that M$ were manuvouring users towards 'End-Of-Life' for 9x...

But anyway, what exactly is causing this?
Answer: Windows Virtual Memory Manager (VMM.VXD) - as pointed out by Tihiy in an earlier post.
It loads first after WIN.COM and is the only place where physical RAM is exposed before being virtualised and re-mapped.
Everything else does not care, or know, about all that physical RAM since it's virtualised!

The load order is:
-HIMEM.SYS
-IFSHLP.SYS
-WIN.COM
-VMM.VXD
-SMARTDRV.EXE
-VXD modules and so on.

How to find or determine the flaws in VMM.VXD? - THE Question.

Further reading:
http://www.aumha.org...4/a/memmgmt.php
http://www.aumha.org.../a/resource.htm
http://onlinehelp.bc.ca/tips.htm
Writing Windows VxDs and Device Drivers By Karen Hazzah: http://books.google....tsec=frontcover
(Missing Chapter 4 in Preview but otherwise some good reading!)

Over 1GB of Usable Windows RAM - The Windows 9x Great Frontier!
retrofreak n a person who is very enthusiastic about something from the past.
retrology n the study of association with and revival from the past.
life n a series of near misses.

#44
dencorso

dencorso

    Iuvat plus qui nihil obstat

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

Donator

I had 1GB of RAM using the following settings:
[...]
I have now added 512MB to a total of 1.5GB and tried to boot with the same settings...
Windows got as far as initialising the display driver and stopped with random vertical orange bars on the screen...
Windows still let me do a double Ctrl-Alt-Delete reboot to flush the disk cache etc.
So, I changed the following settings based on experience in this and other threads:
[...]


Hi, RetroOS! :hello:
Welcome to the more than 1GB RAM world... :yes: I'm glad to see our previous discussions were of help.
But do read carefully Igor Leyko's article, kindly translated from the Russian for us by GreyPhound. I believe it answers some of your questions. If you can afford the time, do read that thread entirely, it is worthwhile. I believe you'll be able to set a XMSDSK ramdisk of just under 200 MB on your remaining RAM, but you won't be able to use all of it, because if you do you won't be able to launch even a single DOS box... If you don't have time for the whole thread, be sure not to miss at least this landmark post by diskless. Cheers!

#45
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,141 posts
  • Joined 24-November 04

The design limit of Windows 95 is 2GB according to http://support.micro...com/kb/q181594/


BUT that's the theoretical value that Win95 can use, RetroOS. In actuality (aka. in real life) the RAM limitation in Win95 can be much less than 2Gb due to motherboard/hardware limitations. So what MS is saying in MS article 181594 is just in theory. A blind assumption. In other words, believe it at your own risk.

The info in MS articles 304943 and 181594 are almost inaccurate. The info posted in MS article 304943 also apply to Win95 as it also has problems with 1.5 Gb+ of physical memory installed, even though MS article 304943 does not mention Win95.

Edited by erpdude8, 01 February 2008 - 08:49 PM.


#46
RetroOS

RetroOS

    Senior Member

  • Member
  • PipPipPipPip
  • 531 posts
  • Joined 26-June 07
  • OS:Windows 7 x64
  • Country: Country Flag

...So what MS is saying in MS article 181594 is just in theory. A blind assumption...

Yep! In 1995 when Windows 95 was released, no one would have thought of ever having 2GB of RAM!
I find it quite ironic that Microsoft have not updated or removed those 'accurate' docs!

Windows 98SE with 1.5GB of RAM has been working well with the settings I mentioned.
I've been looking through the VMM.VXD module lately... It's one hundred thousand lines of code!!!
I'm trying to work through the DOS entry point so I can determine how it's setting up the memory management when it goes into protected mode...
Oh well... I'll keep chipping away at it as I get time... (that elusive thing :P )
That's just the beginning though...
Then, with more than 1GB of RAM, there is all the modules memory management and allocation bugs that were never fixed by Microsoft... (what bugs? 9-what? What are you talking about you silly little man!)
retrofreak n a person who is very enthusiastic about something from the past.
retrology n the study of association with and revival from the past.
life n a series of near misses.

#47
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,141 posts
  • Joined 24-November 04

...So what MS is saying in MS article 181594 is just in theory. A blind assumption...

Yep! In 1995 when Windows 95 was released, no one would have thought of ever having 2GB of RAM!
I find it quite ironic that Microsoft have not updated or removed those 'accurate' docs!


MS article 181594 was first published more than a decade ago, perhaps a year or two before Win98 ever came out. The info is most likely outdated and may no longer be accurate.

At least MS article 184447 mentions similar things found in MS KB article 304943 but article 184447 does mention Win95 and Win98 FE:
http://support.micro...b/184447/EN-US/

Other "large RAM" problems were also described in MS article 253912 and this one mentions ALL Win9x OSes:
http://support.micro...b/253912/EN-US/

But it's nice that there is a "patch" for Win98 SE that can make it use 1Gb of RAM or more. It's not a "cure-all" but a major step in the right direction in solving most of the large RAM problems.

Conspiracy theorists would say that M$ were manuvouring users towards 'End-Of-Life' for 9x..


I definitely HATE conspiracy theories! They're a complete waste of time & energy and a bunch of "cheap talk", IMHO.
I'm mostly concerned with solutions to the large RAM problems whether be a patch or memory tweaks to make Win9xME OSes run with 1Gb+ RAM installed.

#48
Xeno86

Xeno86

    KernelEx Creator

  • Member
  • PipPip
  • 250 posts
  • Joined 26-March 06
  • OS:98SE
  • Country: Country Flag

Could you please post the English build of VCACHE.VXD 4.10.2223?
Thanks.

Just uploaded updated archive with English build.
KernelEx: home board download

#49
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
i have read some articles about it... althoutght they were not to professional as the rest of discussion:

there was reccomended this setting:
Maxfilecache=32768
Minfilecache=32768

just because of MS recomendation for 32mb of memory for caching. Max as topmost limit before memory shall be consumed by it, minimum to keep the amount of allocated memory at constant value - no shrinking or expanding possible. That is good idea while amount of allocated memory shall cannot "attack" some parts of already used memory.

My tests here show that 64mb is topmost limit for any application which have trouble with lots of ram. i shall test 32mb once again and see if it affects performance.

#50
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
  • Joined 29-October 06
so i have analyzed once again the whole thing and here are some things i have learned:

definition of vcache:
The disk cache software in Windows 95/98. It is a 32-bit program that dynamically allocates available free memory and replaces the 16-bit Smartdrive cache in DOS/Windows 3.1. Vcache can automatically adjust the size of the cache depending on the current environment and amount of free disk space.

althought it dont shows for what the vcache is, i found similar text according to smartdrv:
A {Microsoft} {MS DOS} {disk cache} program to speed up disk access. For most users, a 1MB cache is sufficient.  Devoting more memory to the cache offers diminishing returns, since the additional cache hits become fewer (and the extra memory could be better used to reduce {swapping}). Typing SMARTDRV /S at a DOS prompt shows the cache size, a hit-and-miss report, and information about which drives are being cached.  The hit-and-miss statistics are crucial for gauging the effectiveness of SmartDrive settings.  A score in the high 80s shows that SmartDrive is well configured.  Run SMARTDRV /S several times during a Windows session and note the-hit-and-miss figures each time.  If your percentage usually falls below 80 percent, you should consider increasing the cache size.  You can edit the SMARTDRV line in your {AUTOEXEC.BAT} file to increase both the InitCacheSize and the WinCacheSize parameters. SmartDrive Monitor is an undocumented Windows program that comes with DOS 6.0 for logging and controling the cache. (1995-11-22)


blah blah blah and so on...

Vcache seems to be "Virtual Cache" of harddisk/other media. any cache memory is used to speed up the transactions between hardware. if the cache is not present we get only pure hw effectivity which is incredibely low, but there are some things that changed since 1995.

Disks are faster and it is quite normal that they use physical cache memory module. i have seen 2mb hardware cache on 5400 and 7200 rpm drives, and my cheetah with 15000 rpm has 16mb of cache...

the question is if absence of virtual cache can affect disk performance in negative way when there are hardware solutions for this problem, or if i am wrong Vcache has little bit different function as cache memory installed physically on disk.

if the vcache works as i think that is not necessary to use so large amounts of memory for it, but just adequate amount which reflects hardware - disks and similar media - in addition of optimizing disk acesses.

and the third possibility is that if i have good harddisk with large cache memory, total absence of Vcache (all set to 0) shall not affect disk operations, but may improve operations in RAM.

in next day i shall do some test using HDtach software to measure if the disk/memory accesses have been affected by amount of vcache.

edit:

there is slightly small difference between Maxfilecache 16 or 32 megabytes, and between 64 megabytes. all these settings work well. i think that this amount has to be set to smaller number if less harddisks is installed on system and to larger if more of them are installed, but 64megabytes seems to fit for most systems. Larger number may affect opening of command line and some critical apps...

also chunksize is good to be optimized for smallest hw cache on your harddisk. for example if i have 2mb cache on disk the optimal value is 1536 (three quarters).

if i have two disks, each with 8mb disk cache the optimum is 6144, with at least 16 mb of Min/max filecache.

Edited by Offler, 18 February 2008 - 04:53 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users