What do you mean?OMG! Did we completely forget how to do paging/swapping?
What do you mean?OMG! Did we completely forget how to do paging/swapping?
OMG! Did we completely forget how to do paging/swapping?
The problem is not the operating system but rather the lack of physical resources required to perform the work. In your example you need more RAM. No OS, not even macOS, can make up for insufficient RAM
That would depend on the extent of the resource constraint(s). The situation that was described for Linux suggested to me a severe shortage of memory ("filling up all useable RAM"). Use up all the RAM in any operating system, including macOS, and you're going to encounter problems up to and possibly including failure. The solution isn't to use another OS, the solution is to upgrade the system where the resources are no longer under such constraints.But an OS can handle resource constrained situations more or less gracefully depending upon how well their scheduler works. I have no idea if MacOS or Windows do that better or worse or equally good/bad though.
This conversation prompted me to do some thinking, and realize that MacOS is the only OS I've never had to mess with the paging/swapping. It just works.But an OS can handle resource constrained situations more or less gracefully depending upon how well their scheduler works. I have no idea if MacOS or Windows do that better or worse or equally good/bad though.
I regularly "fill up all useable RAM" many times over and my machine doesn't fail. On a properly tuned operating system, an application may thrash due to memory constraints, but the operating system itself (and its ability to respond to user input) never should.That would depend on the extent of the resource constraint(s). The situation that was described for Linux suggested to me a severe shortage of memory ("filling up all useable RAM"). Use up all the RAM in any operating system, including macOS, and you're going to encounter problems up to and possibly including failure. The solution isn't to use another OS, the solution is to upgrade the system where the resources are no longer under such constraints.
Sorry, I find this difficult to believe. If one uses all of the memory in a system let alone "many times over" the system isn't going to be responsive and likely to fall over. macOS included.I regularly "fill up all useable RAM" many times over and my machine doesn't fail. On a properly tuned operating system, an application may thrash due to memory constraints, but the operating system itself (and its ability to respond to user input) never should.
That's what paging/swapping was invented for. You may now furiously Google that (make sure you also do "thrashing") in order to attempt a reply that makes you sound like you know what you're talking about.Sorry, I find this difficult to believe. If one uses all of the memory in a system let alone "many times over" the system isn't going to be responsive and likely to fall over. macOS included.
This conversation prompted me to do some thinking, and realize that MacOS is the only OS I've never had to mess with the paging/swapping. It just works.
Back then I was managing a flotilla of MS SQL Server boxes and didn't really care much at all how responsive the GUI was when things got bad.
Paging is not intended to be a substitute for exhausted memory situations. As for knowing about memory I know memory concepts really well so no need to Google.That's what paging/swapping was invented for. You may now furiously Google that (make sure you also do "thrashing") in order to attempt a reply that makes you sound like you know what you're talking about.
What's it intended for then?Paging is not intended to be a substitute for exhausted memory situations. As for knowing about memory I know memory concepts really well so no need to Google.
It helps with low memory situations where inactive or lightly used pages, for example those assigned to a program which is idle in the background, can be swapped out to secondary storage freeing said memory for active pages in use by active programs. It is not intended to be a substitute to hold active pages which are being forced out of RAM due to memory exhaustion.What's it intended for then?
Very good! Now, wouldn't you say it would be a desirable situation that if an app reached the point of thrashing that the operating system shouldn't allow it to hose the entire system? That it should remain responsive so that the user can quite possibly adjust in order to get out of the thrashing?It helps with low memory situations where inactive or lightly used pages, for example those assigned to a program which is idle in the background, can be swapped out to secondary storage freeing said memory for active pages in use by active programs. It is not intended to be a substitute to hold active pages which are being forced out of RAM due to memory exhaustion.
Very good! Now, wouldn't you say it would be a desirable situation that if an app reached the point of thrashing that the operating system shouldn't allow it to hose the entire system? That it should remain responsive so that the user can quite possibly adjust in order to get out of the thrashing?
The problem is not the operating system but rather the lack of physical resources required to perform the work. In your example you need more RAM. No OS, not even macOS, can make up for insufficient RAM
I would need proof of this statement. Linux is highly regarded in how it handles memory and this is the first time I've ever heard anyone say it becomes completely unusable (i.e. your recommended solution is to turn off the system and restart) yet the same work sessions work effortlessly on macOS.No it is the OS. As macOS handles the same work sessions effortlessly.
End of story.
The OS doesn't need to (and shouldn't!) kill processes, it needs to understand itself well enough to prevent pages critical to maintaining responsiveness from getting paged out. This is understandably hard to do on a system where you have all kinds of third party stuff sticking its nose in (especially where even the GUI is third party!). Assuming this is an interactive box with a user using a GUI, then the user has a fighting chance to save the situation. If it's not, like a database server, then you hopefully have software structured well enough that the main control thread can respond to a -HUP and exit gracefully even when the other threads may be thrashing.Yes but the OS shouldn't be put in that situation in the first place. Last thing you want is an OS doing a "kill -9" on apps, especially things like databases and other things where it could lead to a lengthy recovery process.
I have systems with 2 TiB of RAM, and 4 TiB pagefiles on RAID-0 arrays of fiveWe have 1.5TB of RAM available now, who needs paging!
Si tu parleNo it is the OS. As macOS handles the same work sessions effortlessly.
End of story.
By default I'm not aware of any general purpose operating system (which I'll define as Windows, macOS, and your typical consumer distribution of Linux) which prohibits a process from consuming all of a systems resources.Yes but the OS shouldn't be put in that situation in the first place. Last thing you want is an OS doing a "kill -9" on apps, especially things like databases and other things where it could lead to a lengthy recovery process.
Many OS's will try to fix the situation. Linux has the OOM killer that will take an educated guess. By the time the OOM killer comes into play your system is pretty much on life support at that time. In my many years of admining Linux I've never seen a box stay up for long after the OOM killer runs. It will stay up but usually some critical process for an app gets killed and you end up either restarting (to free up memory and swap) or it continues and crashes on its own.
I would need proof of this statement. Linux is highly regarded in how it handles memory and this is the first time I've ever heard anyone say it becomes completely unusable (i.e. your recommended solution is to turn off the system and restart) yet the same work sessions work effortlessly on macOS.
I use all three and I have never seen one become completely unusable while another performs the same task effortlessly. At least not on comparably equipped hardware.
I'm willing to accept that, so provide more details and help me to understand.You’re welcome to come and pay us a visit here in Japan. Be happy to serve you some humble pie. You look famished.
Feel free to ignore other users experiences though (as I’m sure you will). But remember that your experience, no matter how extensive it may or may not be, doesn’t cover all scenarios. You too can be wrong, and in this case you unfortunately are.
The OS doesn't need to (and shouldn't!) kill processes, it needs to understand itself well enough to prevent pages critical to maintaining responsiveness from getting paged out. This is understandably hard to do on a system where you have all kinds of third party stuff sticking its nose in (especially where even the GUI is third party!). Assuming this is an interactive box with a user using a GUI, then the user has a fighting chance to save the situation. If it's not, like a database server, then you hopefully have software structured well enough that the main control thread can respond to a -HUP and exit gracefully even when the other threads may be thrashing.
By default I'm not aware of any general purpose operating system (which I'll define as Windows, macOS, and your typical consumer distribution of Linux) which prohibits a process from consuming all of a systems resources.
I find it very difficult to believe that, given the same level of hardware specs, an task on one operating system completely falls over while the other works effortlessly. Especially when the one falling over is Linux, an operating system held up as one of the more stable and performant general purpose operating systems. I would need to see it to believe it.
OS's don't generally kill processes. I'm most familiar with Linux and it's OOM Killer. Once the system runs out of memory (RAM+Swap) it will use an algorithm to decide which processes to kill to keep the system going. I forget the exact algorithm but it usually leaves the critical system processes alone until the end. I've SSH'ed into a system in that state. The console is almost always available.
Problem is the OS has to know what is critical and what is not. What happens if, say a bug in a user mode app like the window manager is the culprit? Do you kill it? The system would then be unusable for many, especially in the case of OS X.
Would I prefer to have a tower with macOS? Certainly, but 1) Apple doesn't sell a similar machine in a similar price range and 2) saving about $4000 helps me cope with Windows not being as pretty. And I gotta admit, Windows is growing on me.
For better or for worse I think Microsoft had to take such action because too many people "knew better" and disabled updates.