Oblivion And Physical Memory Usage
Know Your RAM Ceiling And How To Fix It
UPDATES: - Well, sorry for the bad news WinXp 32bit users... LAA carries no benefit for you. After testing, it turns out that there is a slight decrease (1.7gb) in the amount of RAM Oblivion.exe will allocate for it's process. This slight decrease was probably because I didn't restart Windows before the test with LAA enabled. So I would go as far as to say there was no change in memory usage at all. Without LAA enabled, Oblivion was able to reach 1.8gb . This test was performed on a fresh install of WinXp 32bit SP3 with only Vanilla Oblivion, SI, All DLC plugins, and the 1.2.0416 patch. XP was using 175mb of memory for the OS. 3.25gb was the reported installed memory.
- Although LAA allows system ram to be used as VRAM when it runs out, after thoroughly testing the limits of VRAM this week, I've decided that it's unstable for Oblivion. I consistently experienced CTDs when attempting to max out my VRAM. The most common of these CTDs were cell changes or running a PCB command. It is best to try to create your mod load order based around the dedicated VRAM on your graphics card. I believe some overage of VRAM should be fine, but I was trying for very large amounts. (200 - 500mb over dedicated)
Once I removed a few mods that lowered my VRAM usage back down to normal levels (600 - 900mb) all cell changing and PCB commands were stable and no CTDs occurred over many hours of game play. With that said, for now it is not recommended to push your VRAM very far beyond it's dedicated amount.
-------------------------------------------------------------------------------------------------------------
* Here is a video of http://www.youtube.com/watch?v=jq5uJQKMV6s. This is an example of a CTD that will consistently occur (without LAA enabled) regardless if you have a ton of ram. This test was created with a 100% vanilla game (patched to 1.2.0416) with shivering isles and KoTN. - (credit to http://www.gamesas.com/bgsforums/index.php?showuser=572837 for this sweet HD vid!)
* Here is a video of http://www.youtube.com/watch?v=dgPsdraKyBQ
Although this test proved that system memory can be used for VRAM when the dedicated VRAM on a graphics card runs out, exceeding your dedicated graphics VRAM isn't recommended and will cause instability when changing cells and running PCB mods or commands.
* Please be aware that the patch listed on this page may produce undesirable
results if used on an altered or modified Oblivion.exe file.
* A important reminder to XP players using, or thinking of using the 4gb LAA patch within this page.
================================================================================
How to determine if your physical memory usage is the cause of your CTD issues.
* The type of CTD that this topic will identify a fix for is the type associated with players that have a large amount of resource intensive mods loaded at the same time. These types of mods include... High resolution texture replacements (QTP3, Bomret Normal Textures), Any mod that adds a multitude of new NPCs, (Modems City Life etc...) Large overhaul mods (FCOM, OOO, MMM etc...) Large landscape mods (Unique Landscapes, RAEVWD, Better Cities, Open Cities etc...) If you don't run these types of mods, your CTD issues are more than likely not going to be related to this topic. (note that I am in no way stating that the above mods contain issues. Only that they use large amounts of memory that Oblivion was not initially intended to run.)
I've noticed many topics are created with titles like "Oblivion Crashes After 20-30 Minutes"
A crash that seems to happen as if it has a timer is almost certainly going to be from the
Oblivion.exe process reaching it's allocated memory peak. Especially when Oblivion may be
loaded with a ton of mods that are filling up available memory very quickly.
If you run a modded Oblivion, and have a moderate to heavy mod load you will eventually hit
a memory ceiling resulting in a CTD. Even if you have 4gb, 8gb or even 16gb of ram, a memory
ceiling crash is imminent. The best that can be done is to prolong it using the patch below...
================================================================================
How to monitor your memory usage while playing the game
If you're experiencing consistent CTD episodes such as the infamous "20-30 minute CTD"
Please follow these steps in order to monitor your games memory usage. You will know if
you have hit a ceiling once you notice your crashes happening around the same amount of
memory usage on the Oblivion.exe process. (it's best to test within the same area your
last crash was experienced. Or in a largely NPC populated city, i.e. Anvil docks is a good place to test.)
or by changing the Oblivion.ini value bFull Screen=1 to bFull Screen=0
2. Open task manager by pressing ctrl + alt + delete and choose Options.
Be sure to check off "Always On Top". Next, be sure you select the processes tab and also sort
by memory so that the program using the most memory is on top.
3. Make sure your desktop resolution matches your in game resolution.
This is to ensure that when you run Oblivion in window mode, you won't experience any major overscan on your monitor.
================================================================================
The Fix
Oblivion was only meant to allocate up to 2gb of ram. This actually turns out to be around 1.6 - 1.75gb of ram on most systems.
Once your Oblivion.exe process reaches around 1.6 - 1.75gb of memory, you will experience a CTD.
However, with this http://www.ntcore.com/4gb_patch.php you will be able to raise the ceiling up to 3.8gb (these numbers vary depending on XP or Vista/7 32bit or 64bit)
================================================================================
Helpful notes
1. Add the LAA http://www.ntcore.com/4gb_patch.php to your Oblivion.exe and not obseloader.exe (I made this mistake at first)
Also, be sure to make a backup of your original Oblivion.exe file. *Please be aware that the patch may
produce undesirable results if used on an altered or modified Oblivion.exe file.
* A important reminder to XP players using, or thinking of using the 4gb LAA patch within this page
2. Adding http://www.tesnexus.com/downloads/file.php?id=23208will provide system stability improvements as well as decrease CPU load and memory fill rate."Saw my CPU usage drop from 50% to 25% and the amount of time which my memory increased or filled up was cut by half. This is because of the 30fps cap set by the OSR default .ini file"
3. Adding a PCB mod will help increase system stability by purging cached memory. This includes both physical system memory and your graphics card video ram (vram) This basically frees up the cached memory that no longer needs to be stored. That is to say it will prolong the amount of time before your memory fills up to it's ceiling point. Search on http://www.tesnexus.com/ for a good purge cell buffer mod. Or just search the topics here.
================================================================================
How I figured this out
I stumbled across a mod that I determined had a memory leak after noticing my Oblivion.exe process
memory size would continuously increase to a consistent size limit before crashing.
From this, I decided to create a test which would prove Oblivion had a memory ceiling that causes a consistent CTD when reached.
After installing Vanilla Oblivion with SI and all the DLC packages,
I loaded the mod with the memory leak and ran Oblivion in windowed mode so
that I could monitor the Oblivion.exe process with task manager.
In a nutshell, I purposely overloaded Oblivion's physical memory process in order to see where it's breaking point was.
This helped me simulate the type of CTD that most of us experience from a heavily modded game.
Just like we know what our video ram limit is for texture mods, wouldn't we want to know our physical ram limit for game stability?
================================================================================
My To Do List
- Provide a comprehensive list of Oblivion.exe memory ceiling points w/ and w/out LAA, separated by OS (WinXP/Vista/7)
- Run a low VRAM to high system ram stability test which will focus focus on utilizing system ram used as VRAM while remaining under Oblivion.exe memory ceiling w/ and w/out LAA to understand how stable system memory is when used as VRAM.
- Determine which OS offers the most available total memory headroom for overall system stability.