Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: What does "koh-kghu call " mean?

Re: What does "koh-kghu call " mean?

From: Connor McDonald <connor_mcdonald_at_yahoo.com>
Date: Sun, 26 Mar 2006 19:57:55 +0800
Message-ID: <442681C3.6D75@yahoo.com>


Jonathan Lewis wrote:
>
> "oracle_doc" <nilendu_at_nilendu.com> wrote in message
> news:1143236917.453596.311030_at_j33g2000cwa.googlegroups.com...
> > That was a great piece of work, Jonathan.
> >
> > I did some research of my own (namely, searched metalink) and found out
> > that -
> >
> > "pmuccst: adt/re" is probably the part of the "koh" heap that keeps
> > PL/SQL collection information. One bug (4940965) advised to 'raise OS
> > level limits for datasize".
> >
> > On further investigation, the issue did seem like related to an
> > infinite WHILE LOOP that was adding to PL/SQL table.
> >
> > However, I thing I am a little confused about here. Why does the
> > "koh-kghu call" always gets memory in chunk of 16414 bytes,
> > irrespective of the size of specification of the PL/SQL collection type?
> >
>
> The 16416 could simply be a space management thing
> used to minimise fragmentation of pga memory.
>
> If you look at the end of the dump, you get the list
> of freelists - mine starts like this
>
> FREE LISTS:
> Bucket 0 size=44
> Chunk 31d3044 sz= 28 free " "
> Chunk 31a2dcc sz= 32 free " "
> Bucket 1 size=76
> Bucket 2 size=96
> Chunk 31bd4f4 sz= 96 free " "
> Bucket 3 size=140
> Chunk 31d1d2c sz= 192 free " "
>
> There are only 18 buckets, each with a specific size
> (or small range of sizes, perhaps) of free chunks.
>
> In the SGA management, there are 255 lists, of which the
> first 200 or so are each for a very specific chunk size
> (changine by four bytes as you go from list to list) then
> about 50 with size ranges. This lets Oracle find free memory
> very rapidly for SGA management - possibly the same code
> has been applied for the PGA with fewer items in the list,
> therefore a greater need to standard the use of chunk sizes
> and minimize the possible chunk count. One strategy for
> this would be to 'predict' the need for large chunks than
> the actual code call demanded. If you change my test from
> 4K strings to 16K strings, I think the allocation jumped to
> chunks of 64K.
>
> --
> Regards
>
> Jonathan Lewis
> http://www.oracle.com/technology/community/oracle_ace/ace1.html#lewis
>
> The Co-operative Oracle Users' FAQ
> http://www.jlcomp.demon.co.uk/faq/ind_faq.html
>
> Cost Based Oracle: Fundamentals
> http://www.jlcomp.demon.co.uk/cbo_book/ind_book.html

Can't remember where I read it, and certainly haven't tried to verify it, but from 10.2, the 255 lists apparently have been raised to 4096.

hth
Connor

-- 
Connor McDonald
Co-author: "Mastering Oracle PL/SQL - Practical Solutions"
Co-author: "Oracle Insight - Tales of the OakTable"

web: http://www.oracledba.co.uk
web: http://www.oaktable.net
email: connor_mcdonald_at_yahoo.com


"Semper in excremento, sole profundum qui variat."

------------------------------------------------------------
Received on Sun Mar 26 2006 - 05:57:55 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US