Browse thread
Being aware of memory overuse
-
David Rajchenbach-Teller
-
Sylvain Le Gall
-
Goswin von Brederlow
-
Dario Teixeira
- Sylvain Le Gall
- Goswin von Brederlow
-
Dario Teixeira
-
Goswin von Brederlow
-
Sylvain Le Gall
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Goswin von Brederlow <goswin-v-b@w...> |
| Subject: | Re: [Caml-list] Re: Being aware of memory overuse |
Dario Teixeira <darioteixeira@yahoo.com> writes:
> Hi,
>
>> I always wanted to have kernel spport for this. Some way for aplication
>> to tell the kernel about freeable memory and for the kernel to request
>> some memory to be freeed instead of swapping it out.
>
> If I recall correctly, there was an Lwn.net article reporting a lkml
> (the Linux kernel mailing list) discussion on that subject. One of
> the proposals was for the kernel to send processes a signal (SIGFREE?)
> requesting they free up memory (by running a major GC, for example)
> whenever memory was running low. In theory this could in some cases
> avoid the invocation of the draconian OOM killer.
>
> Question: just how effective such a feature would be in the Ocaml case?
>
> Best regards,
> Dario Teixeira
The danger of this on the other hand is that starting a mjor GC cycle
will most likely eat even more memory at first.
A signal would probably not be so helpfull. I was thinking more about a
memory preassure value. For example the kernel could provide a variable
in the vdso block saying:
0-100: You should shrink your memory usage to that many % of current
100+: You could grow your memory to that many % of current
The kernel could consider the processes memory use, amount used for
caching in the process, other processes, general caching and the number
of hits to the pages to get a fair value for each process. and so on.
There could also be a SIGFREE signal to tell processes they must clean
up now or face the OOM killer but that would be secondary for me. I
don't ever want to see the OOM killer anyway.
MfG
Goswin