Messages in this thread | | | From | Yaroslav Rastrigin <> | Subject | Re: How do I make this thing stop laging? Reboot? Sounds like Windows! | Date | Wed, 18 Jun 2003 13:30:48 +0400 |
| |
Hi ! > > Because the problem _is_ unsolvable. You want the kernel > to go "oh, lots of free memory showed up, lets pull > everything in from swap just in case someone might need it." > ... > > It is simply impossible to know "what" the > next thing we will need from swap will be, and what > stuff won't ever be needed from swap. The memory > might be putr to better uses, such as: > 1. New programs/allocations can start without > having to push something out first > 2. file cache for io-intensive apps. > ... > Note that reading from swap is very much like reading > from executable files - it is done when needed. > We donæ't normally pre-read every executable > on the system when there is free memory just > in case someone might want to run a program, > the same applies to swap. Well, the problem is probably unsolvable on kernel level (kernel is unaware of user's habits in app/mem usage), but I think it's pretty solvable on user level - give us a knob to tune VM's behavior. We mere mortals often know better how we will use our system's memory, and which apps we will be running. I, for myself, like laptop-mode patch (basically, it groups disk writes to do them once in 5-10 minutes, thus allowing hdd to sleep a lot) very much - when I'm on AC, most probably I'm in office , and turning it off is reasonable. When I'm on battery, though, chances are I won't be compiling the kernel and/or do other heavy disk IO, instead, I most likely will be coding, so echo 1 >/proc/sys/vm/laptop_mode seems appropriate, reasonable and useful. Could something like this be done with VM/swap policy ?
-- With all the best, yarick at relex dot ru.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |