Jump to content
Sign in to follow this  
OmniAtlas

P3D "Out of Memory"

Recommended Posts

Guest

 

 


Rob, what the heck is happening here.  I do not get OOMs and I use 2048 and even 4096 textures, flying between for example KSAN & KPDX w/ FTXG installed.   Did you uninstall the Hawaiian airports yet and see?

 

Hey Noel, yes uninstalled Hawaiian Airports (1 and 2 and Honolulu) per your suggestion ... sadly no difference in VAS (didn't think there would be).  I'd be surprised if my system/setup is exactly the same as yours ... here is a link to my P3DV2 settings along with nVidia Inspector: http://robainscough.com/Prepar3D_Settings_2.html.  Here is a link to the 3rd party products I currently have installed: http://robainscough.com/Prepar3D_3rd_Party.html.

 

 

 


Why not use FSUIPC's Autosave…?

 

Sounds good Jeroen, didn't know FSUIPC could do that - think I'll try it out.  Agree, LM have acknowledged some memory leak issues, not sure I would say flawed, just some cleanup code.  

 

You never OOM'd in FSX?  I would always worry about OOMs in FSX (just like I do with P3DV2) ... in FSX I adjust my EXE.XML, DLL.XML, and FSX.CFG and Scenery.CFG based on the Aircraft I'm planning to fly and projected weather over my flight plan -- that process was the ONLY way I could ever complete a flight in FSX (even with DX10) without an OOM.

Share this post


Link to post
Guest

You never OOM'd in FSX?  

 

Never. Which is odd. I used various Orbx regions with add-on airports, REX, real time weather, FTX Global, planes like the A2AC172 but also the 737NGX together with various Aerosoft airports… and never even THOUGHT about VAS and I never got an OOM. And that was with Extremely dense autogen and quite high overall settings.

 

With P3D it's a totally different game: even with just FTXG installed and flying the C172 I have to take care of VAS. I don't even use add-on weather right now or REX and I stopped using the Norway freeware. In comparison to what I could do in FSX I will keep on saying the system is flawed LOL

 

BTW I mainly bought FSUIPC for that Autosave function because I was getting too many OOMs. Having the flight saved every 3 minutes (you can set the interval time yourself in seconds) is VERY relexing in that regard: now when I get an OOM I will have lost 3 minutes at most and often even less. Restarting P3D (by double-clicking the autosaved file) is done within no time so that helps. I will probably change that autosave interval to 2 or even 1 minute because so far I don't notice anything when the flight is being saved. Surprised you didn't know about that feature!

Share this post


Link to post

Hi all -- does VSYNC (FPS) unlock cause crashes? I had it set to unlimited, but will try and scale it back to 30 or 40 FPS and see if that makes a difference.

 

Is it the usuable memory on the computer that is causing the crash or GPU ram and how do you determine so? 


Soarbywire - Avionics Engineering

Share this post


Link to post
Guest

Hi all -- does VSYNC (FPS) unlock cause crashes? I had it set to unlimited, but will try and scale it back to 30 or 40 FPS and see if that makes a difference.

 

Is it the usuable memory on the computer that is causing the crash or GPU ram and how do you determine so? 

 

Take note that OOM's aren't CTD's! OOM's have nothing to do with the GPU RAM but only with VAS which makes use of your PC's regular RAM and virtual memory. Vsync won't have an influence on OOM's afaik and also not on CTD's.

Share this post


Link to post

With P3D it's a totally different game: even with just FTXG installed and flying the C172 I have to take care of VAS

 

This thing is apparently system specific as I don't get OOMs in either FSX nor P3D.   I experienced the bizarre steadily dropping FPS from 50 down to 10 over a few minutes when starting flights at FSDT's Hawaiian airports.  And, I would get crashes while those were installed when flying in totally other parts of the planet--until I uninstalled these then voila, no more CTDs.  FWIW, I don't have other software installed beyond a couple of utilities like FRAPS & AIDA64 in my Win7 install.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320nx, WT 787X

 

Share this post


Link to post

Jeroen, VAS (Virtual Address Space) has nothing whatever to do with system RAM, video card VRAM, or Virtual Memory...

 

The simplest analogy I can think of is this:

 

VAS is to any program as a phone book is to a town.

 

The phone book has a list of a town's residents, but is not itself the town*.

 

A program's VAS table maintains a record of the memory addresses the program's bits occupy at any given time in the computer's RAM.

 

Every program running has its own unique VAS table. As programs are swapped into and out of virtual memory, that program's VAS table is read so that the program's bits are placed back into the system's RAM precisely where they were at the time of the last "memory swap."

 

As a program continues to run, the amount of data the VAS table must keep track of gradually increases. Eventually, as more and more data bits require being kept track of, the capacity of the VAS table is exhausted, and the end result is the "OOM" message and program termination. It's unfortunate that Microsoft uses the generic "OOM" message. It would have been so much better if the message said: "Your program has run out of Virtual Address Space..." :Whistle:

 

*Yes, the analogy is "flawed" in that only the residents with wired phone service are listed, but that's the best I can come up with at the moment. For our purposes, assume all residents are listed. ;)


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post
Guest

 

 


BTW I mainly bought FSUIPC for that Autosave function because I was getting too many OOMs

 

Thanks for the tip, I'm going to start using it.


Is it the usuable memory on the computer that is causing the crash or GPU ram and how do you determine so? 

 

On a 64bit OS our usable address space is 4GB that is mapped via the OS using a implementation called VAS (Virtual Address Space) which is mapped to real memory address space but isn't necessarily contiguous.  Various tools can be used to monitor VAS and GPU VRAM usage, I like to use Process Explorer in this case - I set polling to every 500ms (1/2 second).

 

CTD is a generic term ... and OOM will be a specific message that is presented to the user with the option to hit "Ok" which then will return the user to the Desktop and is a result of trying to allocate more memory than is available in the VAS allocated to a 32bit executable.  But once back at the desktop, be aware that any external processes that were running/working with P3DV2 at the time may be in an "unstable" state and should also be terminated manually (for example my GoFlight .exe).  The OS should protect itself but you might need to do additional cleanup after the condition (OOM) is triggered and P3DV2 shuts down.

 

Another common error triggered is g3d.dll ... so far this error has been the result of something wrong in a 3rd party product or a compatibility issue with a 3rd party product.  This error will prompt you with a message and the only option to hit the "Ok" button and P3DV2 shuts down.

 

I haven't encountered any other error types yet in P3DV2.  System freezing, blue screen, sound getting stuck in a loop are usually (not always) hardware issues (overclocking or RAM timings not set correctly) or hardware driver issues.

 

Rob

Share this post


Link to post
Guest

The simplest analogy I can think of is this:

 

Thanks. That's by far the best explanation I've read so far and now I finally know what VAS is exactly. At least... I think. Because when I read your post I get the idea that a program uses actual RAM to run but that it also uses actual RAM to store that VAS...? So when that VAS reaches 4 GB you get an OOM but the program itself can use as much RAM as it wants or needs...? Or is there a relation between the actual RAM it uses and the VAS...? (I have the feeling I am making it complicated again LOL)

Share this post


Link to post

Jeroen, the amount of memory a VAS table occupies is miniscule. Any specific "address" consists of only two numbers; the "page number" and the "offset", where the "offset" is the number of bytes per frame.

 

This is where things become more complicated, because there are many, many different ways that a programmer may create and manage VAS.

 

For FSX and P3D however, we know that the programmers have chosen to use "frames" of 1024 kilobytes.

 

I would recommend reading this Wiki article, paying special attention to the paragraph describing "Internal fragmentation of pages."

http://en.wikipedia.org/wiki/Page_(computer_memory)

 


Rarely do processes require the use of an exact number of pages. As a result, the last page will likely only be partially full, wasting some amount of memory. Larger page sizes increase the potential for wasted memory this way, as more potentially unused portions of memory are loaded into main memory. Smaller page sizes ensure a closer match to the actual amount of memory required in an allocation.

 

As an example, assume the page size is 1024KB. If a process allocates 1025KB, two pages must be used, resulting in 1023KB of unused space (where one page fully consumes 1024KB and the other only 1KB).

This last sentence describes what happens whenever a fully contiguous 1024KB "page" is not available. The "1023KB of unused space" is not a full "page," so if that is all that is available, the program will return a page fault, which in our case results in the "OOM" message.


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post

This last sentence describes what happens whenever a fully contiguous 1024KB "page" is not available. The "1023KB of unused space" is not a full "page," so if that is all that is available, the program will return a page fault, which in our case results in the "OOM" message.

 

I have never had an OOM in FSX nor P3DV2 so far.  I'm 3.5h into a 4.5h flight right now in P3DV2.  I use very high settings, global texture detail at 2048.  Why don't I get OOM's, while others do?  Not that I want them mind ya but what is the differential diagnosis as to why I'm apparently immune to this malady?  [reaches toward oak coffee table, and knocks twice...]


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320nx, WT 787X

 

Share this post


Link to post

Noel,

What is you "LOD_Radius settings"?


Ahmet Sanal

 

"Time you enjoyed wasting, was not wasted"

Share this post


Link to post

I have never had an OOM in FSX nor P3DV2 so far.  I'm 3.5h into a 4.5h flight right now in P3DV2.  I use very high settings, global texture detail at 2048.  Why don't I get OOM's, while others do?  Not that I want them mind ya but what is the differential diagnosis as to why I'm apparently immune to this malady?  [reaches toward oak coffee table, and knocks twice...]

 

Are you flying into intensely detailed payware airports? Are you using REX highquality textures? 


Soarbywire - Avionics Engineering

Share this post


Link to post

 

 


Are you flying into intensely detailed payware airports? Are you using REX highquality textures?

 

Certainly in FSX, limited in P3DV2 so far as I've only installed FSDT's KPHX which was not designed w/ DX11 in mind, though others from FSDT have been as the developer has stated which is why I guess w/ the right video card CYVR for example performs well whereas KPHX not very good at all in V2, and the Hawaiian airports by FSDT I had to uninstalled in P3DV2 because a manifested known severe problem.   I always install REX3 cloud textures at 2048 in both FSX & V2.  LOD is 6.5 in both sims.  PMDG stuff in FSX.  Just using RA Turbine Duke, CS Super MD80 Pro & QW757 in V2 so far.  The MD80 is ultra easy on frames, and yet landing just a while ago at KORD in full 3D night lighting via FTXG frames went all the way down to 24 at one point.  Because even default airports weren't designed to utilize the GPU more big terminals like KORD can be hard on frames in P3DV2.

 

It's a mystery why I don't get them.  I think RobA & I have the same hardware essentially too.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320nx, WT 787X

 

Share this post


Link to post

As programs are swapped into and out of virtual memory, that program's VAS table is read so that the program's bits are placed back into the system's RAM precisely where they were at the time of the last "memory swap."

I don't think the latter is the case. The memory manager will swap out a "least used" 4Kb page from RAM and replace it with one from the page file on disk. The new page won't go where it originally came from in RAM.

Share this post


Link to post

I don't think the latter is the case. The memory manager will swap out a "least used" 4Kb page from RAM and replace it with one from the page file on disk. The new page won't go where it originally came from in RAM.

Gerry, while that is most assuredly the case, I'm deliberately trying to simplify the explanation of a subject which is quite frankly extremely complex.

 

Indeed, this is one of the proximate causes of VAS table fragmentation, as things are never as neat and tidy as we'd all like them to be... :(

 

I'm trying to keep an eye on the big picture and overlook the minutiae insofar as possible.


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post

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