How to set up kermel parameters in sysctl.conf?

(David) Ming Xia david.ming.xia at ibol.biz
Sat Mar 7 00:45:52 UTC 2009


Hi, All.
 
   Does any body know any information about configuration of kernel parameters in sysctl.conf, especially, how to calculate kernel.shmmax and kernel.shmall?
 
   I recently install IBM DB2 9.5 onto FC 10, and I got error message on my connecting to database.  The error message is 'SQL1084C Shared memory segments cannot be allocated.  SQLSTATE=57019'.  This means I need to reconfigure /etc/sysctl.conf to change the size of the shared memory.  
 
  To figure out how to set the kernel parameters, I checked online and found many different stories.  
 
  1. I followed IBM document at http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.qb.server.doc/doc/t0008238.html.  My Power Edge has four GB, as specified in IBM document, we should use physical memory for kermel.shmmax, so I set:
kernel.shmmax=4294967296
kernel.shmall=943718  (4GB * 90% * 1024 * 1024 / 4)
 
But then after I invoked sysctl -p, and then ipcs -l, I got  max seg size (kbytes) = 0.   It did not work out.  
 
I later set it as:  
kernel.sem=250 25600 32 1024 
kernel.shmmax=1073741824 
kernel.shmall=1073741824 
kernel.msgmax=65535 
kernel.msgmnb=65535 
kernel.msgmni=1024
 
and actually I got 
 
# ipcs -l 
 
------ Shared Memory Limits -------- 
max number of segments = 4096 
max seg size (kbytes) = 1048576 
max total shared memory (kbytes) = 4294967296  ( 4 GB!) 
min seg size (bytes) = 1 
 
------ Semaphore Limits -------- 
max number of arrays = 1024 
max semaphores per array = 250 
max semaphores system wide = 25600 
max ops per semop call = 32 
semaphore max value = 32767 
 
------ Messages: Limits -------- 
max queues system wide = 1024 
max size of message (bytes) = 65535 
default max size of queue (bytes) = 65535 
 
 
Redhat gave a example for Oracle, http://www.redhat.com/docs/manuals/csgfs/oracle-guide/s1-ora-nodes.html.  But they did not tell how they got these values, for how much physical memory.  
 
Some other people told kernel.shmmax should be half of the RAM, like http://freekdhooge.wordpress.com/2007/11/11/linux-unix-kernel-parameters/.  
 
So, where can I got some solid, authoritative information on this, especially from Redhat?
I would truly appreciate your advices.
 
 
Thank you very much.
 
 
David 
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20090306/b320924a/attachment-0001.htm>


More information about the fedora-list mailing list