user57 Posted Sunday at 08:28 AM Posted Sunday at 08:28 AM maybe it dont have to be always the maximum of 128 GB from the "russian patch" maybe 8,16,32,64 GB would also be something but i readed up the information here on msfn they dont say what they actually used if PAE is used there might be still open questions lets say its PAE in PAE page table entrys (PTE) and page directory entrys (PDE) are not 32 bit wide they are 64 bit wide https://en.wikipedia.org/wiki/Page_table#/media/File:X86_Paging_PAE_4K.svg however this not neccesary means 32 bit PTE and PDE cant point over 4 GB of RAM thats because of the pages - for example common PTE and PDE that are 32 bit wide and are bound to 4 k pages (4096) that PSE can extend that to 4 megabytes pages (thats 1024 times as much then with 4 k pages) (4 mb) https://en.wikipedia.org/wiki/Page_Size_Extension#/media/File:X86_Paging_4M.svg (4 k) https://en.wikipedia.org/wiki/Page_Size_Extension#/media/File:X86_Paging_4K.svg but here is a other catch i once noticed windows has a certain space for a 4 GB address room so PTE and PDE entrys are exactly calculated for 4 GB entrys if you would extend these entrys a PTE would overwrite a PDE entry (thats because the space for PDE/PTE is exactly calculated, AND the next entry for the PTE is a PDE entry (aka the next space in memory) - therefore you overwrite the PDE´s) and here is the catch that PDBR (page directory base register) for each process would not have a such "overwrite of PTE/PDE" problem it can just use new PTE´s and PDE´s that point to a different memory (aka above the 4 GB room) so if that russian patch is doing that it are theorecial 4 GB for each process thats "OK" in my opinion (maybe they also done something with PTE´s and PDE´s ?) one more word about that /3GB option in normal space usermode has 0x00000000 to 0x7FFFFFFF (you might have seen this somewhere) thats only 2 GB room - however the kernel also can be used as RAM (for example for a RGB buffer) kernel mode begins in that "normal space" at 0x80000000 some are static at this place like ntoskrnl and some drivers (but the rest here can be used as ram) (why not kernel32.dll and some others are also always loaded and take some of the "normal userspace" 0 to 0x7FFFFFFF) thats why the /3GB options increase the userspace to 3 GB room 0x00000000 - 0xBFFFFFFF and the kernel mode then has 1 GB of room, while userspace had 3 GB ram so it raise questions what the "russian patch" used to reach this it would be something new, it seems there is actually room for real XP inventions neither what method was used or if the entry problem was extended and fixed inside the windows drivers if not PAE with not PSE, we could have instead of 4 k entrys 4 mb entrys less talked about is segmentation is a combination between a selector (called segment selector) and a offset https://en.wikipedia.org/wiki/Memory_segmentation i do not know normal programs that use a different selector just for extra memory a common selector is that FS: selector often FS:[00000018] in 32 bit sement selectors are 16 bite wide (65 k) following by the 32 bit offset (4 gb) = 65536 * 4 GB segmentation might also has potential, to make an example from microsoft: https://devblogs.microsoft.com/oldnewthing/20220919-00/?p=107195 swap files are good too, you use the harddrive what today is a SSD, as memory storage. in this case you simply put data you want to progress on the harddrive and by needs either control it on the harddrive or getting it back to your memory (as pleased) this allow you to pipe a lot more data then 4 GB (for example a blu ray movie that is above 25 GB, you dont need the entire 25 GB at once) in the past if you didnt had the ram (like 16 mb ram) you stored the data on the drive (you had a slow harddrive in the past) then you progressed it either on the disc or you loaded parts into memory where you progressed that data you might do not need 4 GB instantaneously/at once the pagefile of windows is doing exactly (also) that by the way someone called out the RAMDISC that is also very nice, and are very fast
vinifera Posted Sunday at 01:32 PM Posted Sunday at 01:32 PM (edited) i guess it depends on personal use... when i had 2 GB RAM i never used pagefile at all... granted for todays use oh my... even 4 GB isn't enough... Edited Sunday at 01:33 PM by vinifera
Browser98 Posted Sunday at 02:22 PM Posted Sunday at 02:22 PM I used Windows XP with 32GB RAM 32 bit using bootleg patch. The work was be stable, productivity increased. In fact, the patch simply removes software locks of Windows XP itself. I did the same trick with all 32-bit systems when I was increasing memory. I think it's awesome.
user57 Posted Monday at 02:17 AM Posted Monday at 02:17 AM that with the segments i probaly didnt write that well i wrote it like microsoft shows an example how to use a "4 GB extension" over segments but i only wanted to show that microsoft make use others segments but what microsoft dont do is to use the other segments for data extension/breaking the 4 GB limit the 32 bit protected mode also contains the so called segment registers CS (Code Segment), DS (Data Segment), FS (F Segment (the one microsoft uses a little in that example before) , ES (Extra Segment) GS (G Segment), SS (Stack Segment) https://en.wikibooks.org/wiki/X86_Assembly/X86_Architecture in the 32 bit protected mode the CS points to something called the Instruction Pointers (IP) you might heared that somewhere in 32 bit it has the E in front of its name called EIP (64 bit useally have an R in front (AX=16bit, EAX=32bit,RAX=64bit) the instructions are encoded with this combination CS:EIP (segment and offset) for example the data has also an segment (DS) but microsoft made it point to the same memory as CS so the idea would be to change either the selectors (what microsoft only use like 2 vars 0008 and 0032 (out of 65535 possibilities) or using an different segment such as ES, or GS common debuggers like "ollydbg" or "ida debug" dont show the segment selector before the EIP im sorry that i could not find a better picture: https://stackoverflow.com/questions/43300040/understanding-8086-assembler-debugger here you can see an example of CS:IP (16 bit) in 32 bit it is called CS:EIP - what he marked red would have been like cs:0000010D here is the alternativ to PAE called PSE it shows how to use PSE with 36 bit, and later on with 40 bit https://en.wikipedia.org/wiki/PSE-36
Browser98 Posted Monday at 09:16 AM Posted Monday at 09:16 AM I used a bootleg patch called StarForce for Windows 2003 and 2008 32bit servers.
tekkaman Posted Monday at 03:59 PM Posted Monday at 03:59 PM Many people don't recommend disabling it. I got 8GB in XP 64 and I just set it to 8GB and leave it be. Many do recommend putting it on another drive though. I think that's the best solution and it won't make your main drive work on many things at the same time. https://lifehacker.com/understanding-the-windows-pagefile-and-why-you-shouldnt-5426041 https://www.reddit.com/r/techsupport/comments/fdvyi8/do_i_disable_pagefile_in_windows_10_with_64gb_ram/
j7n Posted Monday at 04:18 PM Posted Monday at 04:18 PM The words of many people who don't recommend disabling the swap file are so similar that they seem to be reciting the same source and each other. When swap is needed because memory is not enough, make a dedicated swap partition at the start of a disk where speeds are higher. I don't understand where the logic comes from that the swap file needs to be equal or bigger than memory. If I have 20 GB of RAM, I don't want at any point in time to write 20 gigs to the disk in a random fashion.
tekkaman Posted Monday at 07:48 PM Posted Monday at 07:48 PM 3 hours ago, j7n said: The words of many people who don't recommend disabling the swap file are so similar that they seem to be reciting the same source and each other. When swap is needed because memory is not enough, make a dedicated swap partition at the start of a disk where speeds are higher. I don't understand where the logic comes from that the swap file needs to be equal or bigger than memory. If I have 20 GB of RAM, I don't want at any point in time to write 20 gigs to the disk in a random fashion. The thing is that most of the people that do recommend disabling it do it with the assumption that it will make their computer magically fast. Like they got a new computer. But I don't think that's the case. In your case with 20 gigs, I think 4GB or 8GB is enough.
UCyborg Posted Monday at 08:03 PM Posted Monday at 08:03 PM Messing with Win11 recently, I had Firefox opened, total RAM consumption was 3 GB out of 6 GB, fixed 4 GB page file on another. I launched Call of Duty: Modern Warfare 3 singleplayer, the 2011 version, the last CoD with Direct3D 9 renderer, loading first map in campaign errored out in the middle with Out of memory error, I OKayed the error, game closed and the OS bluescreened (yay!). Somehow 4 GB page file wasn't enough, though the game is fine with 4 GB of RAM, admittedly, I never actually played it with 4 GB of RAM with 3 GB occupied. Also while still on an old 2009 rig and no experience with something more recent with say 32 GB of RAM, I could never successfully attempt compilation of project like Firefox and see how much it actually grows on auto settings. Win10 usually does start out with about 2 GB on this machine. But while still on 4 GB of RAM, switching from NT 6 line (I mean mostly 7 and 8.1, Vista was way too incompatible since many years ago and not much of practical use to me) to NT 10, I did notice while closing VMware Workstation after shutting down whatever virtual machine I was running (due to low RAM, they were usually set to slightly above 1 GB), it did close faster without disk activity, as was often the case on NT 6. They wrote they changed the OS so it has lesser tendency to swap. Of course, no version of Windows has equivalent of /proc/sys/vm/swappiness. Recent 64-bit Chromium backport on 64-bit XP, that was the easy one to break the limit of 1 GB page file here.
j7n Posted Monday at 09:36 PM Posted Monday at 09:36 PM (edited) What is the normal memory use (Commit Charge) of Call of Duty: Modern Warfare 3 in task manager while it is played? 2011 games are probably quite big. I've never played it. You obviously have to size the memory for what you need, or limit the applications for what you have. If one never plays such games, he doesn't need as much. Now that you mention Direct3D. It is a bit of a memory hog. I noticed that it eats a lot of memory in the Paged Pool, which is not associated with the program directly. It is reflected in the total commit and in Poolmon application. When I minimize a Direct3D game, the video memory sometimes appears to be freed. I suspect that the Paged Pool is used to back some of it up. With 32-bit XP SP1, this memory area was very limited to around 160 MB, and some games would use it up and crash the system (it is in kernel space). With later versions of 32-bit OS it was expanded as much as it could be. Therefore it should be counted in the total for Call of Duty. OpenGL doesn't use memory in the paged pool. Euro Truck Simulator 2 versions 1.35-1.41 can't run on WinXP under Direct3D because of insufficient memory, but can run OpenGL. What I played with was Stalker Anomaly. It's a new 64-bit version that uses over 3 gigs of RAM. The game that uses a lot paged pool, surprisingly, was GTA: SA Multiplayer (samp). Another project created by modern games with new systems. Today in my experiments with Photopea, I reached 90% of RAM out of 8 GB use before Opera (Opium) gracefully reported out of memory. Nothing else was affected. Edited Monday at 09:40 PM by j7n
UCyborg Posted Tuesday at 12:41 AM Posted Tuesday at 12:41 AM OK, that example on Win11 was probably extra freaky... MW3 seems to mostly hover around 1,6 GB to 1,85 GB, depending on the mission, assuming I'm looking at the right column (Slovenian translations in Task Manager for some things are weird). Mission Mind the Gap has the lowest footprint at about 1,35 GB. This game had to run on PlayStation 3 and Xbox 360. Around 2009, consoles became an obvious priority for that franchise. Someone on Reddit wrote about that generation of consoles that frame rates being all over the place for some games was a common occurrence. 2 hours ago, j7n said: Now that you mention Direct3D. It is a bit of a memory hog. I noticed that it eats a lot of memory in the Paged Pool, which is not associated with the program directly. It is reflected in the total commit and in Poolmon application. When I minimize a Direct3D game, the video memory sometimes appears to be freed. One thing I know about D3D, you need to programmatically handle loss of window focus correctly and then restoration, at least in full screen. Window state is managed by the OS if I recall correctly, but graphical resources are on programmer. With OpenGL, you just have to get the window out of the way. Slowing down execution is probably good idea in any case. 2 hours ago, j7n said: OpenGL doesn't use memory in the paged pool. Euro Truck Simulator 2 versions 1.35-1.41 can't run on WinXP under Direct3D because of insufficient memory, but can run OpenGL. I wonder if you'd find differences if you compared both ATI/AMD and NVIDIA drivers. I remember years ago when they were talking about "Quake bug" in Cry of Fear (GoldSrc - Half-Life 1 engine). While I'm not sure that what I was experiencing was "Quake bug", there were crazy memory leaks on level transitions. Going from AMD to NVIDIA and then they were gone. 3 hours ago, j7n said: Another project created by modern games with new systems. Well, computers have become incredibly accessible, but tricks the older folks had to know are being forgotten. Sometimes I wonder if computers stayed slow, would it have any effect on people's behavior? I'm hinting at the all too often observed impatience and such. 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now