Results 1 to 6 of 6
  1. #1
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737

    Unanswered: Recommeded SHMMAX Linux kernel parm for DB2 Linux 9.5

    Edit: the title of this thread is wrong. It should read: Recommeded SHMALL Linux kernel parm for DB2 Linux 9.5



    Here is the recommendation for SHMALL in the Redbook entitled Up and Running with DB2 on Linux (SG24-6899-01) that covers V9.5:

    "In this example, SHMALL is set to 8 GB (8388608 KB = 8 GB). If you have more physical memory than 8 GB for DB2, increase the value of this parameter to approximately 90% of your computer’s physical memory."

    Here is the recommendation from the current DB2 9.5 InfoCenter for SHMALL on Linux:

    IPC kernel parameter: kernel.shmall (SHMALL)
    Enforced minimum setting: no value is enforced
    Recommended minimum value: 2 * <size of RAM in bytes> (setting is in 4K pages)
    Example minimum value (system with 16GB of RAM: 8388608 (4K pages) [which is 32GB]

    So the Redbook effectively states SHMALL should be 90% of real memory on a system with more than 8 GB, and the DB2 LUW 9.5 InfoCenter says it should be two times the amount of real memory for Linux. Anyone have any info on this discrepancy, or any other ideas.
    Last edited by Marcus_A; 03-11-10 at 17:45.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  2. #2
    Join Date
    Jun 2003
    Location
    Toronto, Canada
    Posts
    5,516
    Provided Answers: 1
    To me, what InfoCentre says makes less sense. SHMALL only sets the limit for shared memory allocation, but it's the application that chooses to request memory. In theory if your instance and database configuration do not demand more memory than physically available, you should be OK with either setting. In practice, however, I can see how real memory could be exceeded even if the total shared memory requests are below that number.

    For example, each local connection needs one shared memory segment, whose size is limited by SHMMAX. If at some point your total shared memory consumption is just a bit below the total physical memory, and then you create one more local database connection, you are immediately exceeding that limit.

    In such situations you should choose what is preferable: slow death by paging (if SHMALL is more than physically available) or memory allocation errors (if SHMALL is less).
    ---
    "It does not work" is not a valid problem statement.

  3. #3
    Join Date
    Aug 2008
    Location
    Toronto, Canada
    Posts
    2,368
    I see some notes about making changes to SHMALL recommendations, but I can't seem to find this information in the v9.5 InfoCenter. I'm using InfoCenter found here IBM DB2 9.5 Information Center for Linux, UNIX, and Windows


    Am I looking in the wrong place?

  4. #4
    Join Date
    Aug 2008
    Location
    Toronto, Canada
    Posts
    2,368
    Sorry, never mind. I found it, had to click on "Table 1" link. It's interesting that search for SHMALL didn't find it. The information in the InfoCenter is more current.

  5. #5
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    Quote Originally Posted by db2girl View Post
    The information in the InfoCenter is more current.
    In theory the information in the InfoCenter is more current than the PDF manuals, but it does not seem to make sense. Do you know any customers that have their Linux systems set up with SHMALL = 2 times the amount of real memory? I am assuming that one goal with DB2 is to not have any virtual memory swapping.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  6. #6
    Join Date
    Aug 2008
    Location
    Toronto, Canada
    Posts
    2,368
    I'll send you an email with some information regarding this.

Posting Permissions

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