Fwd: SGA heap latches

From: Jonathan Lewis <jlewisoracle_at_gmail.com>
Date: Sun, 17 Apr 2022 09:18:41 +0100
Message-Id: <9F013186-056C-4D80-B7CD-754BD84749D0_at_gmail.com>



Looks like I hit reply instead of reply all

Regards
Jonathan Lewis
(From my iPad mini; please excuse typos and auto-correct)

Begin forwarded message:

> From: Jonathan Lewis <jlewisoracle_at_gmail.com>
> Date: 16 April 2022 at 13:42:04 BST
> To: Willy Klotz <willyk_at_kbi-gmbh.de>
> Subject: Re: SGA heap latches
> 
> 
> If you've set the streams pool size to 256MB and the SGA settings make Oracle use a default granule size of 512M then the streams pool has to take up at least one granule. There may be some algorithm in the granule allocation mechanism that then leads to a calculation of how many sub-pools Oracle will allow because that 512M streams pool either (a) demands too large a fraction of the total SGA, or (b) the size of the streams pool dictates the size of some other pool (e.g. the java pool) which has to allocate a granule in every sub-pool - and this exhausts memory.
> 
> It's the sort of thing you'd have to play around with, using a large sga_size/target with multiple CPUs to see if it's something very specific to particular versions of Oracle. Basically, though, I think it's Oracle trying to trade of concurrency (multiple sub-pools) against some threat of memory starvation that we can't infer.
> 
> (You might check on your system, I can't at present, I think the streams pool is allowed to limit itself to one sub-pool (which would show as one granule)  - but it's possible that it's one of the pools that has to allocate one granule per sub-pool.  Select * from v$sgastat where name = 'free memory' will probably give you the answer you need in the multiple (5 of 7) sub-pool case.
> 
> 
> Regards
> Jonathan Lewis
> 
> 
> 

>> On Fri, 15 Apr 2022 at 12:25, Willy Klotz <willyk_at_kbi-gmbh.de> wrote:
>> Hi,
>>
>> env.: Solaris and RedHat8, Databases on Oracle 19.14
>>
>> When starting databases, we get messages in alert.log:
>>
>> Warning: due to streams pool size of 512MB and granule size of 512MB,
>> only using 1 of 7 SGA heap latches.
>>
>> Other database:
>>
>> Warning: due to streams pool size of 2560MB and granule size of 256MB,
>> only using 5 of 7 SGA heap latches.
>>
>> Streams_pool_size is definied with 256M, sga_target and sga_limit is
>> definied with different sizes on different database, typically around 80 to
>> 200 G.
>>
>> Question: what does this warning mean, any negative impact ? How to prevent
>> this message ?
>>
>> I have an SR open at Oracle, however they are not very helpful ("this is
>> only a warning, you simply can ignore it"). However, my guess is that this
>> warning is not simply made just for fun, so I like to know something about
>> the background.
>>
>> Any information or documentation available?
>>
>> Thanks and best regards
>> Willy
>>
>> --
>> http://www.freelists.org/webpage/oracle-l
--
http://www.freelists.org/webpage/oracle-l
Received on Sun Apr 17 2022 - 10:18:41 CEST

Original text of this message