Hi My question is about shmmax kernel parameter and its importance in tuning postgresql database. Our database version: postgres=# select version(); version ---------------------------------------------------------------------------------------------------------- PostgreSQL 8.3.3 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3) (1 row) "uname -a" output: Linux vt02.deneme.net 2.6.9-42.0.3.ELsmp #1 SMP Fri Oct 6 06:28:26 CDT 2006 x86_64 x86_64 x86_64 GNU/Linux And some of our kernel parameters are kernel.shmmni = 4096 kernel.shmall = 3279547 kernel.shmmax = 2147483648 "free" output total used free shared buffers cached Mem: 16415276 14906444 1508832 0 139192 13743608 -/+ buffers/cache: 1023644 15391632 Swap: 4192924 208 4192716 As you see we have 16 GB RAM and we use about 14 GB of it. But kernel.shmmax parameter 2 GB. In most of tuning guides setting shmmax parameter to %90 of total memory is advised. But even though we didn't do such shmmax tuning "free" command shows that we are using 16 GB of RAM effectively. How postgresql using RAM effectively without tuned shmmax? Should we tune shmmax in our stuation? If so, what is shmmax's proper value for our stuation? Thanks for your interest |