Results 1 to 8 of 8
  1. #1
    Join Date
    Aug 2008
    Posts
    147

    Unanswered: shared memory segements cannot be allocated

    Linux Red hat - 2.6.97 32 bit 8GB Physical Memory
    DB2 9.1 Enterprise

    I'm getting a "shared memory segements cannot be allocated" on attempting to connect to a database

    The entries in the /etc/sysctl.conf are , are they worng , any advice would be appreciated


    kernel.shmmax = 4294967295
    kernel.shmmni=4096
    kernel.shmall = 2097152
    kernel.sem=250 256000 32 1024
    kernel.msgmax=65536
    kernel.msgmnb=65536
    ---------------------------------
    www.sqlserver-dba.com
    www.dba-db2.com

  2. #2
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    You are using 32 bit. This limits you to about 1.7 GB of memory for DB2.

    Andy

  3. #3
    Join Date
    Aug 2008
    Posts
    147
    does that mean the settings I am using are incorrect?
    ---------------------------------
    www.sqlserver-dba.com
    www.dba-db2.com

  4. #4
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    A 32 bit OS can only address 32 GB of memory. So you have 4 GB of wasted memory in the server. The parameters you show will not fit into 4 GB.

    Andy

  5. #5
    Join Date
    Aug 2008
    Posts
    147
    Hi I'm slightly confused by the figures - for a Linux 32 bit DB2 9.1 - with 5GB of Physical memory - what are the calculations for :
    kernel.shmmax = 4294967295
    kernel.shmmni=4096
    kernel.shmall = 2097152
    kernel.sem=250 256000 32 1024
    kernel.msgmax=65536
    kernel.msgmnb=65536
    ---------------------------------
    www.sqlserver-dba.com
    www.dba-db2.com

  6. #6
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    shmmax is 4GB, the total amount of memory that can be addressed, but DB2 is not the only thing using the server. The OS needs memory also. Try cutting it in half. shmall should be the same but I think it is in kb, so I think you value is correct.

    Andy

  7. #7
    Join Date
    Aug 2008
    Posts
    147
    As I've got kernel.shmmax = 4294967295 , which is in bytes ,would it be correct to say that SHMALL should be the equivalent , but in kb ?
    ---------------------------------
    www.sqlserver-dba.com
    www.dba-db2.com

  8. #8
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    Quote Originally Posted by JackVamvas View Post
    As I've got kernel.shmmax = 4294967295 , which is in bytes ,would it be correct to say that SHMALL should be the equivalent , but in kb ?
    From what I have read, that is correct--shmmax and shmall should be equal.

    Andy

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •