Thread: [Fwd: Re: Memory Problem]

[Fwd: Re: Memory Problem]

From
Nicolas Michel
Date:


-------- Message transféré --------
De: Flavio Henrique Araque Gurgel <flavio@4linux.com.br>
À: pgsql-admin <pgsql-admin@postgresql.org>
Cc: Nicolas Michel <nicolas.michel@lemail.be>
Sujet: Re: Memory Problem
Date: Sat, 4 Apr 2009 10:58:45 -0300 (BRT)

Hello! 

> Thank you very much. I didn't know that. I set my shmmax to 4000000000 but you're right, we will see to use a 64 bits system ;) 

My experience with this amount of memory in Debian Etch works much better in a 64bit environment. BIGMEM kernel handles pages in a way that the performance is a bit degraded. 
Thank you for this piece of information.

> I wanted to give to postgres 4GB. So I tryied to set shmmax to 4Go :
>
>     sysctl kernel.shmmax=4294967296
>
>
> But it doesn't work : if I launch after this modification this command :
>
>     sysctl kernel.shmmax
>
> it gives me this response :
>
>     kernel.shmmax = 0
>
> Why? Is there a limit to shmmax? 

I don't see limits in shmmax but the command you're typing is wrong. 
To set a value you need to do: 
sysctl -w kernel.shmmax=VALUE 
I read the man of sysctl and it seems that you're right. But I always set my sysctl variables without the -w switch and it seems that it used to work.

or alternatively: 
cat VALUE > /proc/sys/kernel/shmmax 

Don't forget to write in your /etc/sysctl.conf: 
kernel.shmmax=VALUE 
Without spaces. This will make your setting persistent. 

Regards 
Flavio