hdood Posted July 31, 2010 Share Posted July 31, 2010 When programming in C (simple programs), when malloc failed to reserve memory for say a dynamic struct, it would say the program has a error cant continue bla bla bla.......but the program is still running in the background even though that dynamic struct could never be reserved because (in this case) a illegal memory reservation.. Yes, the program will still keep running (unless it was poorly written and crashed), but it's not using more memory than it was before calling malloc. Let's say the program is using 1MB of memory, and that the system has 512MB free. The program then calls malloc and tries to allocate 1GB of memory. Since the system only has 512MB free, Windows can't honor this request. It does not allocate any memory, and instead returns an error to the program. The program will then still only be using 1MB of memory, and the system will still have 512MB free. There is no problem. Windows will not give it any memory unless the full amount it asks for is actually available. This is in contrast to certain competing operating systems that support overcommitment and will let you allocate memory that isn't necessarily available. This is not possible on Windows. When you allocate memory on Windows, the OS reserves that amount and guarantees that it will be available when you try to access it. Even if the program never uses it, the entire amount is always reserved. This guarantee is absolute. To prevent this from becoming a performance problem, Windows doesn't actually assign any specific storage (such as pages in physical RAM or in the page file) to the allocation. It only reserves the amount. Imagine that a system has 2GB of free RAM and a 2GB page file. This means that Windows can reserve up to 4GB of memory. If you then run two programs that allocate 1GB each, they will both succeed, and Windows will reserve 2GB of memory. There is now 2GB left. Let's say neither program tries to actually access the memory, let's say they pre-allocated it for some future use. We then run a third program that allocates 1.5GB of memory and actually uses it. What Windows will go and do then, is place this 1.5GB in physical RAM. It can do this because even though the first two programs have allocated 2GB, they aren't actually using it. If they later tried to, everything would still be okay, because even though there is only 0.5GB of physical RAM available, there is 2GB of space in the page file. Everyone's happy. Now imagine if you had disabled the page file so that the only thing available was 2GB of RAM. The first two programs would end up reserving all of this even though they aren't using it. When we then run the third program, it will fail. This is the reason why you generally want to have a page file enabled, although how big an issue this is depends on how much RAM the machine has and the applications and games you run. Operating systems that allow overcommitment deal with this problem differently. In the example without a page file, the third program wouldn't necessarily fail. Instead, the OS makes assumptions that the first two programs won't be using all the memory they have allocated. It then goes ahead and gives 1.5GB to the third, even though there technically isn't enough memory available if all three programs actually tried to use it. This of course results in a different problem. It now has to go and tell one of the two programs that "oops, the memory you're in the middle of using isn't available after all," or forcefully terminate one of the programs to satisfy the other two. I'm not going to say anything about which design is better, I'm just pointing out the architectural differences. Maybe you're only familiar with the last example, which again is not how Windows works. Sorry if this is turning into a complete derail. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979200 Share on other sites More sharing options...
Southern Patriot Posted July 31, 2010 Share Posted July 31, 2010 dhood, I'm curious which OSs you are talking about that allow overcommitment. I don't think I've ever seen that scenario in any OS I've ever used. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979206 Share on other sites More sharing options...
hdood Posted July 31, 2010 Share Posted July 31, 2010 Linux is one example. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979216 Share on other sites More sharing options...
xendrome Posted July 31, 2010 Share Posted July 31, 2010 Rules for turning the page file on or off. Turning it off: This displays that the user has no understanding of what the page file is, or what the page files does, and how applications interact with it. Leaving it on: Either the user doesn't care, doesn't want to be bothered with such things, or has educated themselves on the above lack of understanding the above "Turning it off:" users. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979222 Share on other sites More sharing options...
Southern Patriot Posted July 31, 2010 Share Posted July 31, 2010 Rules for turning the page file on or off. Turning it off: This displays that the user has no understanding of what the page file is, or what the page files does, and how applications interact with it. There is one situation where I will turn the page file off: When I am trying to split a volume and need to condense the space first. The page file is invariably sitting in the middle of the free space on the drive, and Disk Management won't let you shrink the drive beyond where the page file is sitting. You would THINK that Microsoft would have taken this into account and given it a way of moving the page file, but they didn't. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979234 Share on other sites More sharing options...
WastedJoker Posted July 31, 2010 Share Posted July 31, 2010 Anyone know why we even need a pagefile with modern O/S's? Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979238 Share on other sites More sharing options...
hdood Posted July 31, 2010 Share Posted July 31, 2010 There is one situation where I will turn the page file off: When I am trying to split a volume and need to condense the space first. The page file is invariably sitting in the middle of the free space on the drive, and Disk Management won't let you shrink the drive beyond where the page file is sitting. You would THINK that Microsoft would have taken this into account and given it a way of moving the page file, but they didn't. I would say that it's such a fringe case that it's not worth having to deal with the hassle of having to redesign the OS to allow page files to be dynamically managed. In order to move it, you would after all have to disable all disk paging, then create a new page file. I suppose a feature could be designed that moved it when you rebooted, but again it's a little too niche. Anyone know why we even need a pagefile with modern O/S's? Because RAM is finite. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592979248 Share on other sites More sharing options...
asusmc Posted August 1, 2010 Share Posted August 1, 2010 Yes, the program will still keep running (unless it was poorly written and crashed), but it's not using more memory than it was before calling malloc. Let's say the program is using 1MB of memory, and that the system has 512MB free. The program then calls malloc and tries to allocate 1GB of memory. Since the system only has 512MB free, Windows can't honor this request. It does not allocate any memory, and instead returns an error to the program. The program will then still only be using 1MB of memory, and the system will still have 512MB free. There is no problem. Analyzing this example: Process 1 of that program (program A) uses 1MB of memory and requests to allocate a additional 511MB on a 512MB RAM PC. This leaves the OS (this is on a theory level) with 0MB of memory. What if, while running process 1, we open another process (2) of program A that once again itself uses 1MB of memory? (With pagefile disabled) Process 1 is currently using all 512MB so as soon as we try to open process 2, how can the OS itself deliver a "fail memory" if it has no memory itself to give the message? Im not trying to be a ******* hdood, just trying to fully understand :) Thank you for your explainations :) Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982132 Share on other sites More sharing options...
+Warwagon MVC Posted August 1, 2010 MVC Share Posted August 1, 2010 I've always compared ram to a glass of water. Taller the glass the more water it can hold. If the glass gets too full because it isn't big enough, the water will start to overflow over the top into the "Page file" which catch all the excess water the glass can't hold. Now if you have 6 or 8 gigs of ram then you have a pretty tall glass and the chance of it over flowing are slim. If it ever did over flow and you had the page file turned off, there would be no where for the excess water to go. Now that's just one example and I'm sure the page file is used for more than just spillage. It seems to me that's the big one. If you only have 256 megs of ram, by the time you boot windows and load 1 or 2 applications the glass is already over flowing into the page file which is 100x slower than ram. Thus the slow down. Get more ram, which gives you a bigger glass, now it can hold more and isn't as likely to over flow as much, thus the computer is faster. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982166 Share on other sites More sharing options...
DigitalE Posted August 1, 2010 Share Posted August 1, 2010 I don't mess with the page file. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982190 Share on other sites More sharing options...
Knife Party Posted August 1, 2010 Share Posted August 1, 2010 more useless 'tweaks' Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982220 Share on other sites More sharing options...
hdood Posted August 1, 2010 Share Posted August 1, 2010 Process 1 of that program (program A) uses 1MB of memory and requests to allocate a additional 511MB on a 512MB RAM PC. This leaves the OS (this is on a theory level) with 0MB of memory. Well, in that example, the OS would essentially be rendered useless or crash. It's a little too theoretical though. In reality, the OS will do its best to keep enough memory reserved to maintain critical services. Certain running programs might still go a little wonky as new allocations are denied, but the OS itself will remain responsive enough to let you close programs to reclaim memory. The biggest problem with your argument is that having a page file does not resolve this problem, it simply delays it. After all, you will run into the exact same situation when you run out of both RAM and page file space. The only actual solution is for the OS to keep some memory reserved at all times for internal use, something Windows does to a very small extent. It only has to be enough to keep the OS from crashing. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982334 Share on other sites More sharing options...
AimLXJ Posted August 2, 2010 Author Share Posted August 2, 2010 more useless 'tweaks' I agree, now I remember why I never messed with the pagefile, it's really all a placebo effect :blush: Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982844 Share on other sites More sharing options...
Phenom II Posted August 2, 2010 Share Posted August 2, 2010 I did turn it off for a while, but with only 4GB RAM, and games like Crysis, it was not long until I was experiencing regular crashes, so turned it back on If I ever get 8GB I might try it again, but I agree, I didnt see any speed increase while it was off Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982902 Share on other sites More sharing options...
x-scratch Posted August 2, 2010 Share Posted August 2, 2010 i leave mine on no need to turn it off Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982912 Share on other sites More sharing options...
Udedenkz Posted August 2, 2010 Share Posted August 2, 2010 When I had an argument about this a long time ago (with a guy who was a broken record...), I tried getting my system to crash, but it simple did not crash. If your system crashes, there is something wrong with it. Steps to the the most easy way to use up all your 4GB+ memory, 1. Make sure you have W7, XP does not do this 2. Connect a USB2.0 HD 3. Check disk for errors (check "Automatically Fix File System Errors" and "Scan for and attempt recovery of bad sectors") This will make explorer use up all your available memory. Notice how it doesn't crash, just turns off DWM to free up more RAM... The PF is just additional slow memory. If you need it, you need more RAM (and maybe a clean-boot and a virus scan)... /Thread Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982972 Share on other sites More sharing options...
+Warwagon MVC Posted August 2, 2010 MVC Share Posted August 2, 2010 When I had an argument about this a long time ago (with a guy who was a broken record...), I tried getting my system to crash, but it simple did not crash. If your system crashes, there is something wrong with it. Steps to the the most easy way to use up all your 4GB+ memory, 1. Make sure you have W7, XP does not do this 2. Connect a USB2.0 HD 3. Check disk for errors (check "Automatically Fix File System Errors" and "Scan for and attempt recovery of bad sectors") This will make explorer use up all your available memory. Notice how it doesn't crash, just turns off DWM to free up more RAM... The PF is just additional slow memory. If you need it, you need more RAM (and maybe a clean-boot and a virus scan)... /Thread and no, that's not a serious clap. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592982980 Share on other sites More sharing options...
Nihilus Posted August 2, 2010 Share Posted August 2, 2010 When I had an argument about this a long time ago (with a guy who was a broken record...), I tried getting my system to crash, but it simple did not crash. If your system crashes, there is something wrong with it. Steps to the the most easy way to use up all your 4GB+ memory, 1. Make sure you have W7, XP does not do this 2. Connect a USB2.0 HD 3. Check disk for errors (check "Automatically Fix File System Errors" and "Scan for and attempt recovery of bad sectors") This will make explorer use up all your available memory. Notice how it doesn't crash, just turns off DWM to free up more RAM... The PF is just additional slow memory. If you need it, you need more RAM (and maybe a clean-boot and a virus scan)... /Thread Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592983158 Share on other sites More sharing options...
Solid Knight Posted August 2, 2010 Share Posted August 2, 2010 I've turned it on and off and haven't noticed a difference at all. I just leave it on now. Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592983262 Share on other sites More sharing options...
Slammers Posted August 2, 2010 Share Posted August 2, 2010 yep back in the day i'd mess round with my page file but no i just leave it on 7 handles it well Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592983296 Share on other sites More sharing options...
asusmc Posted August 2, 2010 Share Posted August 2, 2010 I've always compared ram to a glass of water. Taller the glass the more water it can hold. If the glass gets too full because it isn't big enough, the water will start to overflow over the top into the "Page file" which catch all the excess water the glass can't hold. Now if you have 6 or 8 gigs of ram then you have a pretty tall glass and the chance of it over flowing are slim. If it ever did over flow and you had the page file turned off, there would be no where for the excess water to go. Now that's just one example and I'm sure the page file is used for more than just spillage. It seems to me that's the big one. If you only have 256 megs of ram, by the time you boot windows and load 1 or 2 applications the glass is already over flowing into the page file which is 100x slower than ram. Thus the slow down. Get more ram, which gives you a bigger glass, now it can hold more and isn't as likely to over flow as much, thus the computer is faster. So having no page file means there is no way to catch excessive water so where does it go? (according to your example) Well, in that example, the OS would essentially be rendered useless or crash. It's a little too theoretical though. In reality, the OS will do its best to keep enough memory reserved to maintain critical services. Certain running programs might still go a little wonky as new allocations are denied, but the OS itself will remain responsive enough to let you close programs to reclaim memory. The biggest problem with your argument is that having a page file does not resolve this problem, it simply delays it. After all, you will run into the exact same situation when you run out of both RAM and page file space. The only actual solution is for the OS to keep some memory reserved at all times for internal use, something Windows does to a very small extent. It only has to be enough to keep the OS from crashing. OK thank you :) Link to comment https://www.neowin.net/forum/topic/925528-do-you-play-games-with-pagefile-on-or-off/page/3/#findComment-592983574 Share on other sites More sharing options...
Recommended Posts