Archived

This topic is now archived and is closed to further replies.

Mike T

FSX still need /userva switch even on x64 OS's?

Recommended Posts

Hi all,Let me take you back for a moment to the dreaded OOM and RAM discussions that we've all enjoyed so much with FS9 & FSX. Obviously by now, we are all aware that the FSX.exe must be /LARGEADRESSAWARE (native to FSXsp2) and that we must add the /3GB switch to the boot.ini file on 32-bit OS's. We also add the /userva switch to fine-tune the virtual address space alloted to the user. Fine, works good.Now that I have switched over to the WinXP x64 (64-bit) OS, I am once again experiencing CTDs after "almost" completing several long-haul flights (7+ hours runtime each) with all the latest resource drainng addons including FSXsp2, PMDG 744X, GEX, FEX (1024/dxt5), FSG, UTX, ScenTech, ASX, WoAI+custom, etc, etc,...If I didn't know better, I'd swear I was right back to where PSOLK and I fought this same behaviour in the prime of the FS9.1 days, for the better part of year, until we discovered that it was not our machines or integration efforts.Now here's my theory. I fully understand that the 64-bit (x64) OS is fully capable of addressing a 'truck-load' of RAM and that the /3GB switch in the boot.ini file is not necessary. No problem here.But, what about the /userva=2560 switch. Could this switch still make a difference on 64-bit OS's? Is the virtual address space alloted to the user environment still limited to 4GB on x64/64-bit OS's? Has anyone ever tried adding this switch in a similar setup to eliminate OOM CTDs?Regards,

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi Al,I don't think that switch will do anything in a 64 bit OS. If you look at the info in this MSDN link http://msdn.microsoft.com/en-us/library/aa366778.aspx it says each 32 bit process with LARGE_ADDRESS_AWARE set gets 4 GB of user mode virtual memory, so it should be OK. Are you actually getting a OOM error, or just a CTD? I have completed quite a few long hauls with the PMDG and same addons as you (except WOAI traffic--I have been using MyTraffic now, but am considering going back to WOAI and custom) into Aerosoft Heathrow and FSDreamteam KORD without a problem in Vista 64. Most of my non OOM CTDs in FS9 were due to bad AI textures it seemed. I stopped using FS9 altogether now, since FSX has been rock solid for me over the last 6 months with no CTDs or OOMS. I did have a few CTDs back in January, but traced those down to a bad memory module. Maybe time to run a memcheck... Good luck tracking it down.KyleFS box: Q6600 (@ 3.24 GHz), ASUS P5E3 Premium, 4 GB OCZ Platinum DDR3 (Cas 6-6-6-18-2T @ 1440 MHz), BFG 8800GTX 768, Soundblaster XFi Fatality, WD 300 GB 10000 rpm VelociRaptor (FSX), WD 150 GB 1000 rpm Raptor (FS9), Samsung Spinpoint F1 750 GB (OS/Apps), Silverstone TJ09 case, PC Power & Cooling Silencer 750 PSU, Vista Ultimate 64WideClient1: An old P4 with 1 GB ramWideClient2: Compaq Presario Laptophttp://www.precisionmanuals.com/images/forum/747400.jpg

Share this post


Link to post
Share on other sites

All good points Kyle and thanks for the reply. Now that I think about it, I am not getting the specific OOM message box but had attributed that to disabling all error-reporting. The CTDs seem to be various dll messages, much like those thrown with the original OOM messages in FS9.Your description of the 4GB user address space does seem to indicate however that that when you reserve a higher portion, 2560 vice the default 2GB per app, that it should have the same affect, a slight increase available to the app, regardless if it's on a 32 or 64 bit OS. For the moment, I still think my theory has some merrit.Regards,

Share this post


Link to post
Share on other sites

I don't think I explained it well enough. The 4GB I mentioned is dedicated to each user process (as long as LARGE_ADDRESS_AWARE is set) and not split between the process & kernel as in a 32 bit OS. If you remember, in 32 bit OS the 4 GB was split 2/2 (3/2 with /3GB) between user process/kernel unless you used the userva which adjusted the process virtual space to the userva value, still giving a total of 4 GB for both the process and kernel. In a 64 bit OS the 4 GB is dedicated virtual space for each 32 bit process with LARGE_ADRESS_AWARE (8TB for a 64 bit process), with 8 TB for kernel already, so if the userva switch worked, it would probably reduce the application virtual space from default. KyleFS box: Q6600 (@ 3.24 GHz), ASUS P5E3 Premium, 4 GB OCZ Platinum DDR3 (Cas 6-6-6-18-2T @ 1440 MHz), BFG 8800GTX 768, Soundblaster XFi Fatality, WD 300 GB 10000 rpm VelociRaptor (FSX), WD 150 GB 1000 rpm Raptor (FS9), Samsung Spinpoint F1 750 GB (OS/Apps), Silverstone TJ09 case, PC Power & Cooling Silencer 750 PSU, Vista Ultimate 64WideClient1: An old P4 with 1 GB ramWideClient2: Compaq Presario Laptophttp://www.precisionmanuals.com/images/forum/747400.jpg

Share this post


Link to post
Share on other sites

===========================The /userva subparameter is designed for computers that need more than 2 GB but less than 3 GB of user-mode address space, particularly those that are running memory-intensive user-mode programs. When used without the /3GB parameter, /userva is ignored.The /3GB and /userva parameters are valid only on boot entries for 32-bit versions of Windows on computers with x86 or x64-based processors. ===========================http://msdn.microsoft.com/en-us/library/ms791558.aspxI suspect some type of error caused by scenery or addonAlso, some motherboards have in their chipset settings an option called MEMORY REMAPMemory Remap allows you to enable or disable the remapping of the overlapped PCI memory above the total physical memory. If available, enable that feature/option when you install 64-bit operating system.Just for giggles... if you currently have a page file set to a static value, reset it to SYSTEM MANAGED and see what happens. I do not think that will change anything but try that. If you get the same result I would say you can write off OOM or associated error completely and start looking for the scenery or addon causing the problem... could even be AV or other app running in the background.

Share this post


Link to post
Share on other sites

Ahh, now with that explanition, including Nick's reply below, I stand corrected and can not hypothisize any further. Thanks guys, I knew one of you would get it through my thick head, LOL...

Share this post


Link to post
Share on other sites

Thanks Nick, will do so ASAP. Much appreciate your time as always...

Share this post


Link to post
Share on other sites

I don't think your your assumption on making mandatory largeaddress aware or /3gb switch changes to the OS or Vista-64 bit windows is at all valid. Neither does a 64-bit OS do anything for FS9 or FSX because neither simulator is programed to utilize the extended memory.I've never had a problem with OOM errors that were not solved by identifying which 3rd party addon was causing the problem.FSX does not utilize as much memory as you can give it no matter how many addon's you pile on. The operating system itself my take advantage of a pile of RAM but FSX will not because it is not programmed to do so. 4GB of RAM is more than sufficient for FSX to run without resorting to 64-bit OSs and fiddling with memory address switches (which tend to do more harm than good on the vast majority of systems). The reason you are still getting OOM errors is due to a problem with an add-on or a configuration change (such as your virtual swap file). That's the place to start.@NickN, I think we are truly on the same page with this, there are quite a few of these posts and with all the "magic brew" myths about FS9 and FSX tweaks a lot of simmers get bogged down in them.Regards,Mike T.

Share this post


Link to post
Share on other sites

>FSX does not utilize as much memory as you can give it no>matter how many addon's you pile on. The operating system>itself my take advantage of a pile of RAM but FSX will not>because it is not programmed to do so. >This statement is false; and confuses process address space and physical RAM.Acceleration and SP2 are marked LARGEADDRESSAWARE and will take advantage of the extra process address space beyond the 2G line when a 32-bit OS boot is marked to let applications do so. this means memory allocations will succeed that used to fail when the FSX process reached the 2G line; and hence does reduce the potential for occurence of OOM errors regardless of whether they are from FSX itself or from FSX+add-ons.I specifically called the LARGEADDRESSAWARE marking of the FSX executable out in my Acceleration and SP2 post back in October. Indeed the entire purpose of LARGEADDRESSAWARE is to indicate that the application is compatible with pointer addresses that have the high bit set and not clear, see http://blogs.msdn.com/oldnewthing/archive/.../12/213468.aspxthis is why the default behavior is to not grant the extra process address space.As far as behavior on a 64-bit OS, http://blogs.msdn.com/oldnewthing/archive/.../01/423817.aspx andhttp://support.microsoft.com/default.aspx?scid=889654are useful links.they indicate that a LARGEADDRESSAWARE marked 32-bit executable on a 64-bit OS does indeed get the entire 4G process address space to party in. those 2 links do not fully clarify that you do not have to mark the OS boot on a 64-bit OS, but it is my recollection that step ( required on a 32-bit OS ) is not required.

Share this post


Link to post
Share on other sites

So bottom line.XP 32 ,SP2 and 2 gigs of ram.Does adding the /userva switch AKA 3 gig switch HELP perfomance in FSX/SP2?I have never had a oom error but just about everyting else.In laymens terms, PLZ explain the adv and dis of using this edit to the boot.A link will be fine but not if its techno babble.Thanks, JimBTW-Good to hear from ya Phil.....

Share this post


Link to post
Share on other sites

JimJamPerformance as in increased frame rates? no... advantages, yes and enabling it is usually a 'by system' or "by issue" decision, and, if you have FSX SP2 installed which is >2GB aware.There can be advantage to enabling the switch and tuning for those on FSX SP2 but its not a 'frame rate' advantage. It can help by allowing more space the PCIe memory above OS address and more address space 'breathing room' with larger VM systems. It also allows access to 'trim down' the userva value to where the system remains stable. Many have found the default value too high and use the boot.ini access to reduce the reserved userva amountTypically however one does not need to enable the feature on a 2GB system unless you see OOM issues, but, enabling it does no harm and in theory can actually do more good even if you are not seeing any OOM problems in a 32bit OS and only running 2GB.And of course Phil is correct about the use of the memory by the app. I have seen memory use as high as 3.2-3.5GB with FSX in both x32 and x64 so the idea the memory is not used or available (which has been discussed many times here) is simply not truex32 is also known for not reporting the use correctly, but it is in fact used and available

Share this post


Link to post
Share on other sites

I have Acceleration loaded but I cannot find this "LARGEADDRESSAWARE" tag.My FSX icon is simply. fsx.exe.The version is 10.0.61637.0 The fsx.cfg does not have it.Where can I find and verify FSX sp2 added this command?I added the line and this is my boot.ini[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn /usepmtimermulti(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Home Edition 3GB" /fastdetect/NoExecute=OptIn /3GB /userva=2560/usepmtimerThis is XP 32 SP2, AMD dual core fx-62,asus M2N32, 2 gigs ddr2800,8800gt,nhancer tricks.I select the /3 boot option but see no difference and just want to make sure I am not missing anything.Sorry for the long post but I am having the menu crashes,aa/af problems and basically out of ideas.Thanks ahead of time.

Share this post


Link to post
Share on other sites

jimjamyou do not add the entire line.. you only edit the single line in the boot.ini fileplease review my instructions here:==============================================WINDOWS XP x32 WITH MORE THAN 2 GIGS OF SYSTEM MEMORYIf you have FSX SP2, the exe file is already 2G+ awareIf you have XP or VISTA x32 and more than 2GB you need to MARK the OS for that use or it will ignore the sticks and never use themx64 operating systems do not need the following changesFor XP:disable hidden files and folder, then on the root C: you will find a file named: boot.ini Open it in notepad and add the follwoing to the end of the OS boot line: Add:/3GB/Userva=2560 To this line as shown:multi(0)disk(0)rdisk(0)partition(2)WINNT="Microsoft Windows XP Professsional" /fastdetect /3GB /Userva=2560 <---- add it heresave and close the filerebootto set that back to default, simply remove the edit===========================================NOTE: This edit should also be used if you see OOM errors and have 2GB or less memoryYou do not add another entire boot line, you edit: /3GB /Userva=2560 INTO the line.the only way you should have 2 or more boot lines in that config file is if you are multi-booting 2 or more OS'sFurther, if you run FSX Acceleration, you have SP2 installed. The largeaddressware flag is in the FSX.exe file and requires special software to access that flag. A program called CFF Explorer is one.You have Acceleration, so you are in fact on SP2 and there is no reason to access the FSX.exe fileYou will not notice ANY performance change with this edit

Share this post


Link to post
Share on other sites

In other words I need to stop before I really screw it up.I really appreciate your time and effort you spend helping us and have read alot of your tips. I wished I could say all my problems were fixed but I know I am not alone.Thanks again Nick for your advice.

Share this post


Link to post
Share on other sites