Re: Re: Kernel doesn't free Cached Memory

From: Vinicius
Date: Fri Jul 22 2005 - 07:03:41 EST


On Fri, 2005-07-22 at 08:27 -0300, Vinicius wrote:
[...]
>> I have a server with 2 Pentium 4 HT processors and 32 GB of >>RAM,
this
>> server runs lots of applications that consume lots of memory to. >>When I
>>stop
>> this applications, the kernel doesn't free memory (the memory >>still in
>>use)
>> and the server cache lots of memory (~27GB). When I start this
>>applications,
>> the kernel sends "Out of Memory" messages and kill some random
>> applications.
>>
>> Anyone know how can I reduce the kernel cached memory on RHEL >>3
(kernel
>> 2.4.21-32.ELsmp - Trial version)? There is a way to reduce the >>kernel
>>cached
>> memory utilization?

>Probably RedHat's support can answer this for RHEL 3.
>
> Bernd
>--
> Firmix Software GmbH http://www.firmix.at/
>mobil: +43 664 4416156 fax: +43 1 7890849-55
> Embedded Linux Development and Services

Bernd,

The server runs RHEL Trial Version, without support... for tests purpose.

When I compile and run the following tester program:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main (void) {
int n = 0;
char *p;

while (1) {
if ((p = malloc(1<<20)) == NULL) {
printf("malloc failure after %d MiB\n", n);
return 0;
}
memset (p, 0, (1<<20));
printf ("got %d MiB\n", ++n);
}
}

The server alocates lots of free memory (including swap) to the tester
program and when its finish, lots of cached memory are freed.

Have someone an idea why it's happens? Or how can I force the kernel to
frees cached memory?

Thanks again (sorry my bad eglish again!)

Vinicius.
Protolink Consultoria.