Professional Web Applications Themes

How to reduce memory size of agents / AIX ? - IBM DB2

Hi there, The agent private memory depends upon various parameters, which are mostly deallocated when agent has terminated his job. However, I noticed many idle agents keep consuming quite a big amount of memory, as shown by the output below (up to 40 Mb, and I even noticed once up to 100 Mb). Is that normal ? I would have imagined an idle agent released most of its private memory, so that we can get some kind of 2 to 3 Mbs per agent, as noticed when starting the instance and activating the DB. DB2MEMDISCLAIM=yes, DB2MEMMAXFREE is unset and version ...

  1. #1

    Default How to reduce memory size of agents / AIX ?

    Hi there,

    The agent private memory depends upon various parameters, which are mostly
    deallocated when agent has terminated his job. However, I noticed many idle
    agents keep consuming quite a big amount of memory, as shown by the output
    below (up to 40 Mb, and I even noticed once up to 100 Mb).

    Is that normal ? I would have imagined an idle agent released most of its
    private memory, so that we can get some kind of 2 to 3 Mbs per agent, as
    noticed when starting the instance and activating the DB.

    DB2MEMDISCLAIM=yes, DB2MEMMAXFREE is unset and version is V7 EEE / FP10 /
    Aix 5L ML4.

    Any thought is welcome,

    Regards,

    Jean-Marc

    .... ps -elf ...
    F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME
    TTY TIME CMD
    40001 A db2inst1 16314 97302 0 60 20 6d166 8780 35299fcc Sep
    15 - 0:33 db2agent (idle) 4
    40001 A db2inst1 17596 12914 0 60 20 ed1ee 2048 3534740c Sep
    15 - 0:01 db2agent (idle) 1
    40001 A db2inst1 23500 77166 0 60 20 13d213 2784 35347c4c Sep
    15 - 0:00 db2agent (idle) 4
    40001 A db2inst1 36660 36398 0 60 20 bd7eb 6824 3540f6cc Sep
    15 - 0:07 db2agent (idle) 3
    40001 A db2inst1 41106 20262 0 60 20 441c4 37336 3534798c Sep
    15 - 15:38 db2agent (idle) 2
    40001 A db2inst1 45382 38314 0 60 20 16d336 5724 351b4dcc Sep
    15 - 0:00 db2agent (idle) 0
    40001 A db2inst1 46194 20262 0 60 20 5d385 3044 35178bcc Sep
    15 - 0:23 db2agent (idle) 2
    40001 A db2inst1 46688 97302 0 60 20 ad2ea 6964 351b48cc Sep
    15 - 0:48 db2agent (idle) 4
    40001 A db2inst1 52146 12914 0 60 20 1f975f 39492 3529954c Sep
    15 - 4:33 db2agent (idle) 1
    40001 A db2inst1 52372 36398 0 60 20 16d316 1760 351b4b8c Sep
    15 - 0:02 db2agent (idle) 3
    40001 A db2inst1 56836 97302 0 60 20 ed1ae 1804 3540fd4c Sep
    15 - 0:00 db2agent (idle) 4
    40001 A db2inst1 57888 20262 0 60 20 fd7af 2840 3517884c Sep
    15 - 0:02 db2agent (idle) 2
    40001 A db2inst1 60240 20262 0 60 20 12d1d2 1780 351b4c8c Sep
    15 - 0:52 db2agent (idle) 2
    40001 A db2inst1 62470 97302 0 60 20 14d294 34732 3529994c Sep
    15 - 1:27 db2agent (idle) 4
    40001 A db2inst1 62868 97302 0 60 20 10d530 1812 3540f68c Sep
    15 - 0:01 db2agent (idle) 4
    40001 A db2inst1 63588 21522 0 60 20 17cd97 41740 3534770c Sep
    15 - 0:45 db2agent (idle) 0
    40001 A db2inst1 65958 36398 0 60 20 3d263 10452 351b418c Sep
    15 - 1:34 db2agent (idle) 3
    40001 A db2inst1 74212 12914 0 60 20 19d119 20728 352994cc Sep
    15 - 336:19 db2agent (idle) 1
    40001 A db2inst1 74598 14736 0 60 20 11a61 3432 35178f4c Sep
    15 - 0:00 db2agent (idle) 0
    40001 A db2inst1 86846 97302 0 60 20 9d7c9 2844 3540f04c Sep
    15 - 0:02 db2agent (idle) 4
    40001 A db2inst1 87236 20262 0 60 20 15d7d5 13732 35178a0c Sep
    15 - 0:12 db2agent (idle) 2
    40001 A db2inst1 88682 97302 0 60 20 4ce64 6100 352087cc Sep
    15 - 2:21 db2agent (idle) 4
    40001 A db2inst1 90766 20262 0 60 20 16d2d6 39364 351b478c Sep
    15 - 15:44 db2agent (idle) 2
    40001 A db2inst1 94520 97302 0 60 20 1ed51e 6128 3540f44c Sep
    15 - 1:36 db2agent (idle) 4
    40001 A db2inst1 95234 129046 0 60 20 13d1b3 17060 35178f0c Sep
    15 - 0:18 db2agent (idle) 1
    40001 A db2inst1 95736 12914 0 60 20 17d1f7 8368 3534768c Sep
    15 - 0:04 db2agent (idle) 1
    40001 A db2inst1 96940 36398 0 60 20 2d302 49880 351b4a4c Sep
    15 - 15:08 db2agent (idle) 3
    40001 A db2inst1 101562 97302 0 60 20 17a097 3060 3540fa8c Sep
    15 - 0:23 db2agent (idle) 4
    40001 A db2inst1 101798 97302 0 60 20 d540 2908 3540fb4c Sep
    15 - 0:11 db2agent (idle) 4
    40001 A db2inst1 102746 12914 0 60 20 14d774 7132 35347e4c Sep
    15 - 0:09 db2agent (idle) 1
    40001 A db2inst1 111908 20262 0 60 20 19d4b9 6896 35299e4c Sep
    15 - 1:26 db2agent (idle) 2
    40001 A db2inst1 112762 36398 0 60 20 13a613 6084 342a75cc Sep
    15 - 1:44 db2agent (idle) 3
    40001 A db2inst1 112960 20262 0 60 20 19cdf9 7792 342a770c Sep
    15 - 1:22 db2agent (idle) 2
    40001 A db2inst1 117308 97302 0 60 20 3d363 4220 3529904c Sep
    15 - 0:07 db2agent (idle) 4
    40001 A db2inst1 118290 38314 0 60 20 13d393 40548 3529934c Sep
    15 - 0:55 db2agent (idle) 0
    40001 A db2inst1 120028 19020 0 60 20 1ea59e 4540 35299a4c Sep
    15 - 0:05 db2agent (idle) 3
    40001 A db2inst1 122176 20262 0 60 20 8d7e8 3636 3540f24c Sep
    15 - 0:05 db2agent (idle) 2
    40001 A db2inst1 122808 14736 0 60 20 1ca73c 34392 342a788c Sep
    15 - 0:06 db2agent (idle) 0
    40001 A db2inst1 123106 20262 0 60 20 4d4a4 35484 352992cc Sep
    15 - 0:59 db2agent (idle) 2
    40001 A db2inst1 123278 12914 0 60 20 15caf5 37788 35299ccc Sep
    15 - 0:44 db2agent (idle) 1
    40001 A db2inst1 125582 36398 0 60 20 1ed2fe 1800 3540f50c Sep
    15 - 0:00 db2agent (idle) 3




    Jean-Marc Blaise Guest

  2. #2

    Default Re: How to reduce memory size of agents / AIX ?


    "Jean-Marc Blaise" <blaisedeltadb.spam.no.com> wrote in message
    news:bk4q4b$3gg$1news-reader5.wanadoo.fr...
    > Hi there,
    >
    > The agent private memory depends upon various parameters, which are mostly
    > deallocated when agent has terminated his job. However, I noticed many
    idle
    > agents keep consuming quite a big amount of memory, as shown by the output
    > below (up to 40 Mb, and I even noticed once up to 100 Mb).
    >
    > Is that normal ? I would have imagined an idle agent released most of its
    > private memory, so that we can get some kind of 2 to 3 Mbs per agent, as
    > noticed when starting the instance and activating the DB.
    Some per-agent memory allocations are never released until the agent is
    terminated. This is beneficial in many cases because a) you don't have a
    continuous overead of allocating and deallocating memory on-demand (which
    increases memory fragmentation and hurts performance), and b) by keeping
    some allocations around, including the data that was resident, can improve
    performance on subsequent requests. (The application workspace comes to
    mind here.)

    --
    Matt Emmerton
    DB2 OLTP Performance
    IBM Toronto Lab


    Matthew Emmerton Guest

  3. #3

    Default Re: How to reduce memory size of agents / AIX ?

    "Matthew Emmerton" <memmerto> a écrit dans le message de
    news:REs9b.1500$mv6.188347news20.bellglobal.com.. .
    >
    > "Jean-Marc Blaise" <blaisedeltadb.spam.no.com> wrote in message
    > news:bk4q4b$3gg$1news-reader5.wanadoo.fr...
    > > Hi there,
    > >
    > > The agent private memory depends upon various parameters, which are
    mostly
    > > deallocated when agent has terminated his job. However, I noticed many
    > idle
    > > agents keep consuming quite a big amount of memory, as shown by the
    output
    > > below (up to 40 Mb, and I even noticed once up to 100 Mb).
    > >
    > > Is that normal ? I would have imagined an idle agent released most of
    its
    > > private memory, so that we can get some kind of 2 to 3 Mbs per agent, as
    > > noticed when starting the instance and activating the DB.
    >
    > Some per-agent memory allocations are never released until the agent is
    > terminated. This is beneficial in many cases because a) you don't have a
    > continuous overead of allocating and deallocating memory on-demand (which
    > increases memory fragmentation and hurts performance), and b) by keeping
    > some allocations around, including the data that was resident, can improve
    > performance on subsequent requests. (The application workspace comes to
    > mind here.)
    >
    > --
    > Matt Emmerton
    > DB2 OLTP Performance
    > IBM Toronto Lab
    Thanks Matt,

    I understand your points, but I thought the 2 registry variables were there
    to make you decide what memory policy you prefer.
    From the Administration Performance guide, it is said:

    - an idle agent would stay at about 32 Mb (but not 40 Mb or 100 Mb as we
    have noticed, do you have any idea ?).

    - to avoid this, set DB2MEMDISCLAIM=yes (we did)

    - DB2MEMMAXFREE is null (I noticed V8 default has changed to 8000000), but
    no memory seems disclaimed ("memory will be disclaimed once freed", so I
    guess memory is not freed ?).

    We should be able to choose between your point a) or increasing our swap
    constantly so that have to recycle the instance quite often.
    It seems to me the DB2MEMMAXFREE unset does not provide what is expected.

    If you have further comment from my points above, thanks a lot !

    Best regards,

    Jean-Marc


    Jean-Marc Blaise Guest

  4. #4

    Default Re: How to reduce memory size of agents / AIX ?

    Hi Sean,

    Thanks for your advice; we have a few stored SQL procedures. I'll have a
    look.

    We have noticed the DB2MEMMAXFREE's default is not null (version 7.2) but 8
    Mb and reduced this parm to 4 Mb, as well as reduced the NUM_POOLAGENT to
    force agent creation.

    We're still investigating to track with svmon the more expensive processes.
    All the problem, in fact is that Aix's architecture, when you do a free(),
    does not reclaim the memory...so db2agents seem to keep growing.

    Regards,

    Jean-Marc

    "Sean McKeough" <mckeoughnospam.ca.ibm.com> a écrit dans le message de
    news:bk75er$dqv$2hanover.torolab.ibm.com...
    > Jean-Marc,
    >
    > Any chance you have trusted UDFs or trusted SPs running? If so, you
    > might want to look for a memory leak...
    >
    > Jean-Marc Blaise wrote:
    >
    > > "Matthew Emmerton" <memmerto> a écrit dans le message de
    > > news:REs9b.1500$mv6.188347news20.bellglobal.com.. .
    > >
    > >>"Jean-Marc Blaise" <blaisedeltadb.spam.no.com> wrote in message
    > >>news:bk4q4b$3gg$1news-reader5.wanadoo.fr...
    > >>
    > >>>Hi there,
    > >>>
    > >>>The agent private memory depends upon various parameters, which are
    > >
    > > mostly
    > >
    > >>>deallocated when agent has terminated his job. However, I noticed many
    > >>
    > >>idle
    > >>
    > >>>agents keep consuming quite a big amount of memory, as shown by the
    > >
    > > output
    > >
    > >>>below (up to 40 Mb, and I even noticed once up to 100 Mb).
    > >>>
    > >>>Is that normal ? I would have imagined an idle agent released most of
    > >
    > > its
    > >
    > >>>private memory, so that we can get some kind of 2 to 3 Mbs per agent,
    as
    > >>>noticed when starting the instance and activating the DB.
    > >>
    > >>Some per-agent memory allocations are never released until the agent is
    > >>terminated. This is beneficial in many cases because a) you don't have
    a
    > >>continuous overead of allocating and deallocating memory on-demand
    (which
    > >>increases memory fragmentation and hurts performance), and b) by keeping
    > >>some allocations around, including the data that was resident, can
    improve
    > >>performance on subsequent requests. (The application workspace comes to
    > >>mind here.)
    > >>
    > >>--
    > >>Matt Emmerton
    > >>DB2 OLTP Performance
    > >>IBM Toronto Lab
    > >
    > >
    > > Thanks Matt,
    > >
    > > I understand your points, but I thought the 2 registry variables were
    there
    > > to make you decide what memory policy you prefer.
    > > From the Administration Performance guide, it is said:
    > >
    > > - an idle agent would stay at about 32 Mb (but not 40 Mb or 100 Mb as we
    > > have noticed, do you have any idea ?).
    > >
    > > - to avoid this, set DB2MEMDISCLAIM=yes (we did)
    > >
    > > - DB2MEMMAXFREE is null (I noticed V8 default has changed to 8000000),
    but
    > > no memory seems disclaimed ("memory will be disclaimed once freed", so I
    > > guess memory is not freed ?).
    > >
    > > We should be able to choose between your point a) or increasing our swap
    > > constantly so that have to recycle the instance quite often.
    > > It seems to me the DB2MEMMAXFREE unset does not provide what is
    expected.
    > >
    > > If you have further comment from my points above, thanks a lot !
    > >
    > > Best regards,
    > >
    > > Jean-Marc
    > >
    > >
    >

    Jean-Marc Blaise Guest

Similar Threads

  1. Reduce File Size
    By cadder1 webforumsuser@macromedia.com in forum Adobe Acrobat Macintosh
    Replies: 4
    Last Post: December 15th, 08:14 AM
  2. How to Reduce a PDF file size??
    By anabella@adobeforums.com in forum Adobe Acrobat Macintosh
    Replies: 6
    Last Post: October 9th, 11:39 PM
  3. Reduce size of existing pdf
    By gone_native@adobeforums.com in forum Adobe Acrobat Macintosh
    Replies: 5
    Last Post: May 11th, 06:47 PM
  4. Reduce Image size
    By Ranbir webforumsuser@macromedia.com in forum Macromedia Fireworks
    Replies: 2
    Last Post: August 18th, 10:24 AM
  5. CAN I CHANGE SIZE (PIXELS) OF A PROJECTOR TO REDUCE THE FILE SIZE?
    By JB in forum Macromedia Director Basics
    Replies: 0
    Last Post: August 3rd, 06:04 PM

Bookmarks

Posting Permissions

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139