RE: Heap size 3664K exceeds notification threshold

  • From: "John Dunn" <JDunn@xxxxxxxxx>
  • To: "Hallas, John (EXP N-ARM)" <john.hallas@xxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 13 Jul 2007 09:52:56 +0100

Thanks again
If heap space use is increasing, how can I monitor this?


From: Hallas, John (EXP N-ARM) [mailto:john.hallas@xxxxxxxx] 
Sent: 13 July 2007 08:50
To: John Dunn; oracle-l@xxxxxxxxxxxxx
Subject: RE: Heap size 3664K exceeds notification threshold

See note 330239.1 - some parts pasted below


Installed / Upgraded to 10g Release 2


These are warning messages that should not cause the program responsible
for these errors to fail.  They appear as a result of new event
messaging mechanism and memory manager in 10g Release 2. 

The meaning is that the process is just spending a lot of time in
finding free memory extents during an allocate as the memory may be
heavily fragmented.  Fragmentation in memory is impossible to eliminate
completely, however, continued messages of large allocations in memory
indicate there are tuning opportunities on the application.   

The messages do not imply that an ORA-4031 is about to happen.  


In 10g we have a new undocumented parameter that sets the KGL heap size
warning threshold.   This parameter was not present in 10gR1.  Warnings
are written if heap size exceeds this threshold.
Set  _kgl_large_heap_warning_threshold  to a reasonable high value or
zero to prevent these warning messages. Value needs to be set in bytes. 

If you want to set this to 8192 (8192 * 1024) and are using an spfile: 

(logged in as "/ as sysdba")

SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608
scope=spfile ; 

SQL> shutdown immediate SQL> startup 

SQL> show parameter _kgl_large_heap_warning_threshold
------------------------------------ -----------
_kgl_large_heap_warning_threshold integer 8388608 

If using an "old-style" init parameter, 

Edit the init parameter file and add 



NOTE:  The default threshold in is 2M.   So these messages
could show up frequently in some application environments.

In,  the threshold was increased to 50MB after regression
tests, so this should be a reasonable and recommended value.   If you
continue to see the these warning messages in the alert log after
applying or higher, an SR may be in order to investigate if you
are encountering a bug in the Shared Pool.

Other related posts: