Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55

    Unanswered: What would increase max agents?

    Hello DB2 friends!

    I have a DB2 9.1 database running on Linux Suse 10 (I know....I'm pushing hard for an upgrade) The database is the only one in the instance and it's primarily used for OLTP.

    For the last 6 weeks I've been seeing the following errors in the diag.log as well as the notify log a couple of times per week (a flurry of messages for approx 1 second, then they stop).

    2012-08-06-17.26.21.735754 Instance:dbiecs1p Node:000
    PID:12110(db2tcpcm 0) TID:345519056 Appid:none
    base sys utilities sqleGetAgent Probe:100

    ADM7519W DB2 could not allocate an agent. The SQLCODE is "-1225".
    
    2012-08-06-17.26.21.736020 Instance:dbiecs1p Node:000
    PID:12110(db2tcpcm 0) TID:345519056 Appid:none
    common communication sqlcctcpconnmgr_child Probe:125

    ADM7009E An error was encountered in the "TCPIP" protocol support. A possible
    cause is that the maximum number of agents has been exceeded.


    The maxagents instance parameter is set to 1100 and the maxappls database parameter is set to automatic. The high water mark for agents registered and coordinating agents is only 980.

    I have a couple of questions/notes:

    1. How/Why could the max # of agents have been exceeded if the HWM is 120 below the max?

    2. What kinds of activities to cause a recent rise in the # of agents? A couple of days before the first 'max number of agents eceeded' message occured, I created a new buffer pool and tablespace.


    3. 2 weeks ago I bumped up the maxagents from 1000 to 1100 and it doesn't seem to have given much relief.

    Before I bump the maxagents up more, I would like to learn more about what may be causing this. Any information at all is always appreciated to this newby DB2 lover Attached are the db and dbm cfg as well as a snapshot of the instance. Please let me know if I need to provide any more info.

    Thanks!
    Attached Files Attached Files

  2. #2
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    It has nothing to do with maxagents (that is just a possible cause). Look at the SQL error code:

    Code:
    SQL1225N  The request failed because an operating system process,
          thread, or swap space limit was reached.
    
    Explanation:
    
    An operating system process, thread, or swap space limit was reached.
    You can find more information about the problem in the administration
    notification log.
    
    User response:
    
    Check the administration notification log to determine which limit was
    reached and increase that limit.
    
    sqlcode: -1225
    You ran out of memory. I bet your new bufferpool used up what you has left.

    Andy

  3. #3
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    Andy, you are wonderful. Thank you for the response! As a followup, I was thinking about turning on STMM for those bufferpools to help with the memory constraint. Do you think this is a wise option until I can get this database migrated to a new server with more memory and a supported version of DB2.

  4. #4
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    No, I believe that bufferpools should remain fixed in size and let STMM play with the other stuff. Systems can suffer greatly if STMM decides to reduce a bufferpool size.

    Is the server 32 or 64 bit? How much memory does it have? What is the config for the instance and DB?

    Andy

  5. #5
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    It's 64 bit. The server has 4GB of memory. When you ask about the configuration for memory at the database and instance level, are you asking for these params?

    Size of database shared memory (4KB) (DATABASE_MEMORY) = 61440

    and

    Size of instance shared memory (4KB) (INSTANCE_MEMORY) = AUTOMATIC

    Sorry, if this insn't what you are looking for. I'm a new DBA and I feel like I still don't have my hands around the memory model.

  6. #6
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    Quote Originally Posted by Tracygirl View Post
    It's 64 bit. The server has 4GB of memory. When you ask about the configuration for memory at the database and instance level, are you asking for these params?

    Size of database shared memory (4KB) (DATABASE_MEMORY) = 61440

    and

    Size of instance shared memory (4KB) (INSTANCE_MEMORY) = AUTOMATIC

    Sorry, if this insn't what you are looking for. I'm a new DBA and I feel like I still don't have my hands around the memory model.
    Not just those but all that relate to memory (you can send all the parameters if you want), including your bufferpools.

    Is there anything else running on the server that could use memory?

    Andy

  7. #7
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    I have the OS Admin looking at the memory usage on the server. When I do a 'top' on the server, db2sysc processes only account for 10.5% of the memory. I could be missing something in my novice investigation though.

    I ran db2mtrk -d -i -v to utilize the db2 memory tracker to get the following info:

    Tracking Memory on: 2012/08/08 at 14:31:55

    Memory for instance

    Database Monitor Heap is of size 589824 bytes
    Other Memory is of size 29491200 bytes
    Total: 30081024 bytes

    Memory for database: ECDWF01P

    Backup/Restore/Util Heap is of size 589824 bytes
    Package Cache is of size 39714816 bytes
    Catalog Cache Heap is of size 1966080 bytes
    Buffer Pool Heap (9) is of size 33292288 bytes
    Buffer Pool Heap (8) is of size 33423360 bytes
    Buffer Pool Heap (7) is of size 4653056 bytes
    Buffer Pool Heap (6) is of size 16908288 bytes
    Buffer Pool Heap (5) is of size 4653056 bytes
    Buffer Pool Heap (4) is of size 16908288 bytes
    Buffer Pool Heap (3) is of size 4653056 bytes
    Buffer Pool Heap (2) is of size 16908288 bytes
    Buffer Pool Heap (1) is of size 17367040 bytes
    Buffer Pool Heap (System 32k buffer pool) is of size 917504 bytes
    Buffer Pool Heap (System 16k buffer pool) is of size 655360 bytes
    Buffer Pool Heap (System 8k buffer pool) is of size 524288 bytes
    Buffer Pool Heap (System 4k buffer pool) is of size 458752 bytes
    Shared Sort Heap is of size 2555904 bytes
    Lock Manager Heap is of size 1441792 bytes
    Database Heap is of size 13828096 bytes
    Other Memory is of size 458752 bytes
    Total: 211877888 bytes


    I posted a snapshot, db cfg and dbm cfg in my original post if that's helpful at all.

  8. #8
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    How much free memory is there?

    Andy

  9. #9
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    This is what I see when I look at the OS-level monitor tool:

    Volume Real Memory
    Type RAM

    Size 3.9 GB
    Space Used 3.7 GB
    Space Available 189.1 MB
    Percent Used 95 %
    Percent Available 5 %


    When I look at TOP on the server:

    Mem: 4049112k total, 3803176k used, 245936k free, 41724k buffers

  10. #10
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    You do not have very much wiggle room there. You need to find where the memory is going and fix it. Adding more memory is also an option, 4GB is not very much these days.

    Andy

  11. #11
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    Thanks for all your insight and help, Andy. Can you please check my memory math. I want to ensure I'm calculating this correctly.

    The server has 4 GB of memory, 189 MB is free.

    When I add together the instance memory 30081024 bytes + the database memory 211877888 bytes from the memory tracker output, I get .23 GB

    .23 GB is the same as the Size of database shared memory (4KB) (DATABASE_MEMORY) = 61440

    Does that mean DB2 is only utilizing about 6% of the servers memory?

  12. #12
    Join Date
    Jan 2003
    Posts
    4,292
    Provided Answers: 5
    Quote Originally Posted by Tracygirl View Post
    Does that mean DB2 is only utilizing about 6% of the servers memory?
    No, you are only looking at one part of DB2. Use db2top util to see it better.

    Did you find out if there is anything else using the server? Is there only one database for the DB2 instance?

    Andy

  13. #13
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    I've never used db2top, so I'll check that out, thanks.

    My OS admin is still looking at what's using the memory on the server. Yes, there is only 1 instance on the server and only 1 database in that instance.

  14. #14
    Join Date
    Nov 2011
    Posts
    334
    User response:

    Check the administration notification log to determine which limit was
    reached and increase that limit.

    Why not you check the administration notification log to see what happended ?
    and use ulimit -u to see whether the OS process limit per user was reached 。

  15. #15
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    Quote Originally Posted by ARWinner View Post
    No, you are only looking at one part of DB2. Use db2top util to see it better.
    Andy, I did some research into db2top and it looks like it's not available on the old clunker db2 9.1 fp 2 I'm running. What a cool too thought.

Posting Permissions

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