Jump to content
Sign in to follow this  
Guest Hedgehog

"OOM Error" explained in comprehensible English

Recommended Posts

Guest machammer

Where do I find the boot.ini file.Thanks in advance to all who reply.Bill

The following is offered as yet one more attempt to explain just what the "OOM Error" is, and how it can be addressed.Since this seems to affect users of FSX primarily, this seems appropriate for this forum, allowing as how it is really neither fish nor fowl... ;)-----------------------------------First of all -and critical for understanding is that this issue has absolutely nothing whatsoever to do with the amount of physical memory (RAM) you have installed. Period.All 32 bit operating systems (WinXP and Vista32) have 4 GBs of Virtual Address Space (VAS) to work with, as that is the maximum number that can be expressed with only 32bits. The VAS table is the same size whether your system has 512MB RAM or 4GB of RAM...By default, 2GB of VAS addresses are reserved for the operating system, with the remaining 2GB of VAS reserved for application programs. Note that every application running maintains it's own set of VAS addresses, and that the operating system will take care of shuffling both the application's address table and the data contents back and forth from the Virtual Memory on the hard drive as necessary.Obviously, everytime a running application needs to access it's VAS table and data, the OS needs to swap things around. The more application programs running at once, the more things get slowed down.When you add the /3GB switch, what you are doing is increasing the total available slice of VAS for FSX to use, which in turn reduces the available slice of VAS for the operating system.It's a case of "robbing Peter to pay Paul..."What the 3GB "tweak" accomplishes in both WinXP and Vista32 is that you essentially increase the size of the VAS table available to ALL running programs for which the "flag" for "LARGEADDRESSAWARE" has been set. The FSX.exe for both RTM, SP1 must be manually made "LARGEADDRESSAWARE", where the SP2 FSX.exe has already been marked as "LARGEADDRESSAWARE."In all cases though, the onus is on the user to tell their operating system to increase the VAS for all "enabled" application programs. The procedure for WinXP and Vista are different, but the results are identical.This next bit of information is critical to coming to a more full understanding of what is causing the "OOM Error" to occur:FSX will only use "contiguous 1MB blocks of VAS."Anytime FSX cannot find a 1MB block of VAS in which to "load stuff," it will summarily crash to desktop...The following is offered as yet one more attempt to explain just what the "OOM Error" is, and how it can be addressed.-----------------------------------All 32 bit operating systems (WinXP and Vista32) have 4 GBs of VAS to work with, as that is the maximum number that can be expressed with only 32bits. The VAS table is the same size whether your system has 512MB RAM or 4GB of RAM...By default, 2GB of VAS addresses are reserved for the operating system, with the remaining 2GB of VAS reserved for application programs. Note that every application running maintains it's own set of VAS addresses, and that the operating system will take care of shuffling both the application's address table and the data contents back and forth from the Virtual Memory on the hard drive as necessary.Obviously, everytime a running application needs to access it's VAS table and data, the OS needs to swap things around. The more application programs running at once, the more things get slowed down.When you add the /3GB switch, what you are doing is increasing the total available Virtual Address Space (VAS) for FSX to use, which in turn reduces the available VAS for the operating system.It's a case of "robbing Peter to pay Paul..."What the 3GB "tweak" accomplishes in both WinXP and Vista32 is that you essentially increase the size of the VAS table available to ALL running programs for which the "flag" for "LARGEADDRESSAWARE" has been set. The FSX.exe for both RTM, SP1 must be manually made "LARGEADDRESSAWARE", where the SP2 FSX.exe has already been marked as "LARGEADDRESSAWARE."In all cases though, the onus is on the user to tell their operating system to increase the VAS for all "enabled" application programs. The procedure for WinXP and Vista are different, but the results are identical.This next bit of information is critical to coming to a more full understanding of what is causing the "OOM Error" to occur:FSX will only use "contiguous 1MB blocks of VAS."Anytime FSX cannot find a 1MB block of VAS in which to "load stuff," it will summarily crash to desktop...Incidentally, it's also important to note that the amount of memory on a video card can actually hinder performance rather than help......that is because the video card's memory addresses are mapped to the operating system's slice of VAS, and therefore reduces the total number of Virtual Addresses available the operating system...For example, a video card with 512MB of onboard RAM will consume 512MB of the available operating system's slice of VAS, so robbing too much from the OS's slice can cause a lot of problems. As always, this is a balancing act...FINE TUNING VASAs I stated previously, since it's a case of "robbing Peter to pay Paul," it may be best to allocate LESS than a full GB of VAS to applications, which is why Phil Taylor recommends using /2560 rather than the full /3072 MB.NOTE: The following applies only to WinXP users:--------------------------------------------------------In your boot.ini file, if you have added the /3GB switch already:multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3GBTo "fine tune" the actual amount of VAS allocated, you need only add another switch to the end of the entire entry:/Userva=2560or whatever size you wish, keeping in mind the 1MB contiguous limit of FSX. In such a case, using any number that isn't a multiple of 512MB simply doesn't make much sense...NOTE: The following applies only to Vista32 users:--------------------------------------------------------BCDEDIT /set increaseuserva 2560BCDEDIT /set increaseuserva 3072WARNING!It is possible to starve the operating system's slice of VAS to the point that your system will no longer boot!If this happens, you must reboot the computer into "Safe Mode" (which bypasses the /3GB switch, and then edit your boot.ini (WinXP) or use bcdecit (Vista) to reduce the size of the application slice of the VAS..FINE TUNING VASAs I stated previously, since it's a case of "robbing Peter to pay Paul," it may be best to allocate LESS than a full GB of VAS to applications, which is apparently why Phil Taylor recommends using /2560 rather than the full /3072 MB.NOTE: The following applies only to WinXP users:--------------------------------------------------------In your boot.ini file, you have added the /3GB switch already:multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3GBTo "fine tune" the actual amount of VAS allocated, you need only add another switch to the end of the entire entry:/Userva=2560or whatever size you wish, keeping in mind the 1MB contiguous limit of FSX. In such a case, using any number that isn't a multiple of 512MB simply doesn't make much sense...NOTE: The following applies only to Vista32 users:--------------------------------------------------------BCDEDIT /set increaseuserva 2560BCDEDIT /set increaseuserva 3072WARNING!It is possible to starve the operating system's slice of VAS to the point that your system will no longer boot!If this happens, you must reboot the computer into "Safe Mode" (which bypasses the /3GB switch, and then edit your boot.ini (WinXP) or use bcdecit (Vista) to reduce the size of the application slice of the VAS.

Share this post


Link to post
Share on other sites
Where do I find the boot.ini file.Thanks in advance to all who reply.Bill
Here:just look for this below. It's a small two or three-line file:-C:\Windows\boot.ini


i7 4790K@4.8GHz | 32GB RAM | EVGA RTX 3080Ti | Maximus Hero VII | 512GB 860 Pro | 512GB 850 Pro | 256GB 840 Pro | 2TB 860 QVO | 1TB 870 EVO | Seagate 3TB Cloud | EVGA 1000 GQ | Win10 Pro | EK Custom water cooling.

Share this post


Link to post
Share on other sites
Guest machammer

Can't find c:\windows\boot.iniI am using XP Pro. I have checked 2 computers for the file and neither as it.What am I dooing wrongThanksBill

Share this post


Link to post
Share on other sites
Can't find c:\windows\boot.iniI am using XP Pro. I have checked 2 computers for the file and neither as it.What am I dooing wrongThanksBill
In WinXP the boot.ini is in the root directory of your C: drive.You can also see it's contents by going to "Start", "Run" and enter "msconfig"....The file MAY be hidden, although it is not on my system. When you do a seacrh, justmake sure you allow it to look for hidden files. Paul

Wide-5.jpg

Share this post


Link to post
Share on other sites
Guest machammer
In WinXP the boot.ini is in the root directory of your C: drive.You can also see it's contents by going to "Start", "Run" and enter "msconfig"....The file MAY be hidden, although it is not on my system. When you do a seacrh, justmake sure you allow it to look for hidden files. Paul
Can someone go to the link listed below. It seems to indicate that the switch doesn't work in XP and Vista. Am I reading it wrong?Thanks.Billhttp://technet.microsoft.com/en-us/library/bb124810.aspx

Share this post


Link to post
Share on other sites
Can someone go to the link listed below. It seems to indicate that the switch doesn't work in XP and Vista. Am I reading it wrong?Thanks.Billhttp://technet.microsoft.com/en-us/library/bb124810.aspx
That article doesn't apply here. Believe me, the switch DOES work with both WinXP and Vista, just as it has been described. Even Phil Taylor, former PM at the (now dead) ACES has confirmed this.Just do it! :(

Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post
Share on other sites

Just one question, please. Where is boot.ini ? Did a search including system files and could not find it. Did find a backup for boot.ini in /windows/pss.Started having more of these after adding more RAM (up to 4 GB). :( Windows XP, SP2.Thanks,Dave Hinson

Share this post


Link to post
Share on other sites
Guest machammer
Just one question, please. Where is boot.ini ? Did a search including system files and could not find it. Did find a backup for boot.ini in /windows/pss.Started having more of these after adding more RAM (up to 4 GB). :( Windows XP, SP2.Thanks,Dave Hinson
Dave,How to Set the /3GB Startup Switch in WindowsTopic Last Modified: 2006-04-19 Windows Server 2003 includes support for a startup switch that lets you tune the allocation of use of memory and memory address space. Regardless of the amount of physical memory in your system, Windows uses a virtual address space of 4 GB, with 2 GB allocated to user-mode processes (for example, applications) and 2 GB allocated to kernel-mode processes (for example, the operating system and kernel-mode drivers). On systems that have 1 GB or more of physical memory, these two startup switches can be used to allocate more memory to applications (3 GB) and less memory to the operating system (1 GB). This additional virtual address space helps reduce the amount of memory fragmentation in the virtual address space of the Exchange information store process.The /3GB switch is used to effect this allocation change. The switch is entered in the system

Share this post


Link to post
Share on other sites
Just one question, please. Where is boot.ini ? Did a search including system files and could not find it. Did find a backup for boot.ini in /windows/pss.Started having more of these after adding more RAM (up to 4 GB). :( Windows XP, SP2.Thanks,Dave Hinson
You can find the boot.ini file in your C: directory (make sure hidden files are visible)orYou can start/run msconfig and access the boot.ini tab

Bert

Share this post


Link to post
Share on other sites
Dave,How to Set the /3GB Startup Switch in WindowsTopic Last Modified: 2006-04-19
What is the point of quoting an outdated and obsolete article that only applies to WinServer? :( There are newer articles posted by MS that address both WinXP's and Vista's configurations for the /3GB switch and the userva= setting.WinXPhttp://www.microsoft.com/whdc/system/platf...PAE/PAEmem.mspxVista, WinXP, WinServer 2003http://msdn.microsoft.com/en-us/library/ms791558.aspxBecause of this confusion, I authored an easy to read, comprehensive explanation in "comprehensible English."Oh wait, that's the title of this thread and was the very first message, but... ...somehow during the forum migration became message#26! :( I simply do not understand the need to make it more complicated and obfuscate the issue... :(

Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...