Sacremas Posted January 6, 2015 Share Posted January 6, 2015 I'm using the SKSE Memory Patch, and currently I have defaultHeapInitialAllocMB=768, however I've been having CTDs lately of the type that vanished earlier when I increase the heap size, but since then I've added a lot of mods. So in interest of trying to stop this permanently, what's the maximum possible Heap Memory size I can put that value on? I have 8 gig RAM and VRAM. Link to comment Share on other sites More sharing options...
camaro_69_327 Posted January 6, 2015 Share Posted January 6, 2015 (edited) The MAX (from what i have read) is 1024, so since the way the SKSE was implemented you would have to add 256. 1280 would net you 1024. The second line (scrap heap)must remain 256.We can see this in the "skse_steam_loader.log" "~snip~overriding memory pool sizesdefault heap = 768MB (effective 512MB if not preloading animations)scrap heap = 256MB My SKSE.ini is set to 768 netting me 512. I have yet to see it hit higher then 350. Even after 6 hours straight with the GPU filled at 3 GB and System RAM commit at 8 GB. Run with the "Memblocks.log' running and see what your Memory blocks get up to. IF you get to 512 and it crashed then by all means up it to 1024 or the MAX of 1280. (1280 would net you 1024). Are you also using an ENB , if only for the BOOST feature? This is as important as the SKSE.ini PIC's or it never happened.PIC Skyrim hits 3.1 GB RAM usage , does NOT crash and continued on for 2.5 hours. Thank you ENBboost.PIC<<<Lol 5.5 hours of Skyrim kickin my computers butt.PIC<<<Good RAM usage. I have Quotes around someplace from Sheson and Boris explaining the why's behind all this...Dug Up the quotes from Sheason..sheson 158 kudos44 postsBlock2 usage can not be increased atm. There are a few boundary checks in the code so it will never use more than 256MB no matter the settings. This really should not be a problem, because when block2 is full, more memory is allocated in smaller chunks somewhere else. Unlike block1 this doesn't cause CTD as far as I know. Since you are not yet hitting the limit of 256 when you CTD the cause is most likely something else. sheson 158 kudos44 postsThat one movapps works with memory allocated by block1. As we discussed earlier there is no real point in changing it as long as block is never fully used. If not changed it will cause CTD sooner than later when block 1 is full. But also a lot of other things will cause CTD anyhow. I never really investigated why allocating a larger block2 is needed when block1 is set to high values to make the game start. Instead I tried a few simple futile stabs at making it use a larger block2 to no avail. It almost sounds like you are seeing CTD when block2 initial allocation is filled? Anyhow, when I did these futile stabs I filled block2 with 1000s NPC and watched it allocate new chunks past the initial 256MB without any CTDs. block2 allocation and usage is really different from block1. I guess I may revisit block2 at some time, but as long as my game is not crashing at all and my memory usage doesn't require me to change block2 there is little reason at the moment.As was pointed out above, it has Been reported that many people have to raise block 2 (above 256) to have a high value for Block 1., or the game wont start. Edited January 6, 2015 by camaro_69_327 Link to comment Share on other sites More sharing options...
Sacremas Posted January 6, 2015 Author Share Posted January 6, 2015 (edited) I'm using Realvision ENB and all the mods he suggest (ENBoost set up for 8 gig Vram), plus a ton of scripted mods running in the background (Frostfall and a dozen others) all of which strains the system. I know from Papyrus logs that it wasn't the scripts crashing it, and the crashes were random, I'd crash walking halfway from Riverwood to Whiterun, reload and start the walk all over again and this time crash at the Whiterun gates, etc, completely random and not dependent on me making any changes on what I did. Last time I had random CTDs the solution was to increase heap size to 768, that stopped them entirley, but as said I'm using more mods now. I tried increasing it to 1280 but like past attempts at increasing it the game crashes soon after the ENB starts to load up in the left corner on the start screen. I tried increasing second heap to 512 but that had no effect on the crash. Anyone know a stable medium to put it on without crashing on start up, or what I should put the second heap on? EDIT: Okay I got it to start up on the following values; [Memory]defaultHeapInitialAllocMB=1024scrapHeapSizeMB=768 Let's see if that's enough... EDIT2:Manged to reduce ScrapHeap to 384 and not crash at start up, that seems to be the one to go with. even with scrap heap on 768 or even 1024 however I was unable to get to defaultinitial 1280. Additionally it seems my game is a lot more stable if before I start it up I restart the computer and shut down as many background programs as possible (firefox, utorrent, and whatever I can get with file manager), after doing that it runs for longer without CTDing. If Firefox is open on just a few pages the chance for CTD goes up by a lot however. Before I added multiple script mods I was able to keep multiple Firefox windows as well as play music with Win Media Player in the background and still get a perfectly smooth game, but of course by now I can't remove those script mods without ruining my save. Something to keep in mind for next install. Edited January 6, 2015 by Sacremas Link to comment Share on other sites More sharing options...
Hamthaak Posted October 4, 2015 Share Posted October 4, 2015 Thanks very much, guys. This helped me a lot. Link to comment Share on other sites More sharing options...
DigitalVixen Posted November 7, 2015 Share Posted November 7, 2015 Couple of comments on the memory when using the SKSE ini tweak. First, which seems to be a misunderstanding here, the total memory available for the first block is (defaultHeapInitialAllocMB) - (scrapHeapSizeMB). This is why you crashed when setting scrapHeap too high. Scrapheap should never have to be increased, no matter how big you set the defaultHeap. Secondly, in the enblocal.ini you have this setting: ExpandSystemMemoryX64 This setting can only be true if you have set defaultHeapInitialAllocMB to a MAXIMUM of 768. If you need it to be higher then ExpandSystemMemoryX64 MUST be set to false. This is because the ENB setting reduces memory fragmentation by allocating the bottom end of the memory first; potentially leading to a more stable system. Personally I have this to off and use a bigger Heap instead. Third, the memory setting in the ENB has for a long time been said to be VRAM+RAM-2048 but according to Boris (the creator of ENB) it should be set as VRAM - X where X is 170 if you run Win7 and 350 if you run Win8/Win10. For a 4GB graphics card on Win7 that means it should be set to 4096-170 = 3926. 1 Link to comment Share on other sites More sharing options...
Carrolj2 Posted June 5, 2019 Share Posted June 5, 2019 Couple of comments on the memory when using the SKSE ini tweak. First, which seems to be a misunderstanding here, the total memory available for the first block is (defaultHeapInitialAllocMB) - (scrapHeapSizeMB). This is why you crashed when setting scrapHeap too high. Scrapheap should never have to be increased, no matter how big you set the defaultHeap. Secondly, in the enblocal.ini you have this setting: ExpandSystemMemoryX64 This setting can only be true if you have set defaultHeapInitialAllocMB to a MAXIMUM of 768. If you need it to be higher then ExpandSystemMemoryX64 MUST be set to false. This is because the ENB setting reduces memory fragmentation by allocating the bottom end of the memory first; potentially leading to a more stable system. Personally I have this to off and use a bigger Heap instead. Third, the memory setting in the ENB has for a long time been said to be VRAM+RAM-2048 but according to Boris (the creator of ENB) it should be set as VRAM - X where X is 170 if you run Win7 and 350 if you run Win8/Win10. For a 4GB graphics card on Win7 that means it should be set to 4096-170 = 3926.I've been trying to expand the memory patch for a few days and didn't know about the ExpandSystemMemoryX64 toggle. Thanks so much for that post. Works perfectly now. Link to comment Share on other sites More sharing options...
rjnagy70 Posted June 29, 2019 Share Posted June 29, 2019 The expand memory setting is that supposed to be in all enblocal.ini files regardless of the enb and flavor of skyrim that you use? I am running SSE on Win 10 using Semirealis ENB 3.4 for Cathedral Weathers and here is what my enblocal.ini looks like. [PROXY]EnableProxyLibrary=falseInitProxyFunctions=trueProxyLibrary= [PERFORMANCE]SpeedHack=trueShaderCache=false [ENGINE]ForceVSync=falseVSyncSkipNumFrames=0 [LIMITER]EnableFPSLimit=falseFPSLimit=61.0 [iNPUT]KeyCombination=16KeyUseEffect=123KeyFPSLimit=36KeyShowFPS=106KeyScreenshot=44KeyEditor=13KeyDof=118 [ANTIALIASING]EnableEdgeAA=true [DITHERING]EnablePrepass=falseEnablePostpass=falseAmountPrepass=1.0AmountPostPass=1.0 [FIX]FixReflectionTrees=trueDisableFakeLights=trueFixReflectionThirdPerson=trueFixBlackHair=true These again were the settings in my enblocal.ini located in X:\Skyrim\ Link to comment Share on other sites More sharing options...
saurusmaximus Posted June 29, 2019 Share Posted June 29, 2019 The expand memory setting is that supposed to be in all enblocal.ini files regardless of the enb and flavor of skyrim that you use? I am running SSE on Win 10 using Semirealis ENB 3.4 for Cathedral Weathers and here is what my enblocal.ini looks like. [PROXY]EnableProxyLibrary=falseInitProxyFunctions=trueProxyLibrary= [PERFORMANCE]SpeedHack=trueShaderCache=false [ENGINE]ForceVSync=falseVSyncSkipNumFrames=0 [LIMITER]EnableFPSLimit=falseFPSLimit=61.0 [iNPUT]KeyCombination=16KeyUseEffect=123KeyFPSLimit=36KeyShowFPS=106KeyScreenshot=44KeyEditor=13KeyDof=118 [ANTIALIASING]EnableEdgeAA=true [DITHERING]EnablePrepass=falseEnablePostpass=falseAmountPrepass=1.0AmountPostPass=1.0 [FIX]FixReflectionTrees=trueDisableFakeLights=trueFixReflectionThirdPerson=trueFixBlackHair=true These again were the settings in my enblocal.ini located in X:\Skyrim\No, only in ENB for LE Skyrim. SSE is 64bit, so it doesn't have the system memory limitations that the original did and thus, no need for a workaround. Link to comment Share on other sites More sharing options...
rjnagy70 Posted June 29, 2019 Share Posted June 29, 2019 Gotcha thanks for the info Link to comment Share on other sites More sharing options...
Songcaster Posted January 1, 2020 Share Posted January 1, 2020 Couple of comments on the memory when using the SKSE ini tweak. First, which seems to be a misunderstanding here, the total memory available for the first block is (defaultHeapInitialAllocMB) - (scrapHeapSizeMB). This is why you crashed when setting scrapHeap too high. Scrapheap should never have to be increased, no matter how big you set the defaultHeap. Secondly, in the enblocal.ini you have this setting: ExpandSystemMemoryX64 This setting can only be true if you have set defaultHeapInitialAllocMB to a MAXIMUM of 768. If you need it to be higher then ExpandSystemMemoryX64 MUST be set to false. This is because the ENB setting reduces memory fragmentation by allocating the bottom end of the memory first; potentially leading to a more stable system. Personally I have this to off and use a bigger Heap instead. Third, the memory setting in the ENB has for a long time been said to be VRAM+RAM-2048 but according to Boris (the creator of ENB) it should be set as VRAM - X where X is 170 if you run Win7 and 350 if you run Win8/Win10. For a 4GB graphics card on Win7 that means it should be set to 4096-170 = 3926.DigitalVixen, I know you posted this YEARS ago, but THANKS! This got me up and running almost perfectly. Had to add small amounts of MB, to get things right, on the, defaultHeapInitialAllocMB line. I have it set to 950, on the SKSE.ini. So Block1 is at, 694. I played for over a hour before I exited out of Skyrim. I then checked the Memory log, and I only used up to, 657. Great! Had it not been for you mentioning to set the, ExpandSystemMemoryX64 to false, I would have still being trying to figure out what is going wrong. Again, thanks a bunch! Link to comment Share on other sites More sharing options...
Recommended Posts