Comment 16 for bug 27441

Revision history for this message
John Kennedy (legendre17) wrote :

It's indeed very easy to get thrashing---in my case, 2GB RAM running a couple of memory-intensive problems like Mathematica and Gimp Resynthesizer at the same time makes the system almost completely unresponsive. I'm talking about Lucid Lynx with all the updates made. I think for a desktop system, responsiveness is probably the most important thing, so users should at least have an option to alleviate this problem, even at the risk of losing some efficiency. If a program misbehaves and thrashing starts, I'd like to be able to kill that program without rebooting and without waiting for hours for the problem to resolve itself.

Could a developer please tell us more about the technicalities involved?

For instance, what exactly happens during the thrashing? I understand the hard drive is running like crazy to move pages in and out of swap space, but surely preemptive multitasking should mean that the access to swap space could be paused while other processes get their share of CPU time, right? Why, then, can the mouse hang completely for minutes? Doesn't this mean that the process controlling the display of the mouse doesn't get to run for minutes at a time? Why is that allowed at all? If it is that that process (or memory associated with it) has been paged out, can't there be a list of priorities for paging, that essentially prohibits the OS from paging out essential UI elements?