Re: How do I make this thing stop laging? Reboot? Sounds like Windows!

Helge Hafting (helgehaf@aitel.hist.no)
Wed, 18 Jun 2003 13:02:18 +0200


On Wed, Jun 18, 2003 at 01:30:48PM +0400, Yaroslav Rastrigin wrote:
[...]
> 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.

There are some knobs. There's the mlock call that disables
paging for whatever memory you want.

xmms could easily stop skipping if it mlocks its own code
and data. Running it at elevated priority might also
be a good idea, so cpu hogs don't starve it.

Both of these needs root pribileges, or at least a suid
binary. (The priority stuff _can_ be done without extra
privileges by nicing every _other_ process instead.)

> 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 ?
>
Sure. Take a look at /proc/sys/vm/swappiness for example.
More stuff like this can be made - by those interested.

The original poster also fixed the problems by doing
swapoff -a ; swapon -a
after quitting a memory hog. That can be automated
with a little cron script that parses the output
of free or vmstat and do this trick whenever
free memory exceed the amount in swap.

Helge Hafting

-
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/