19c shared memory segments changes with AMM on Solaris

  • From: "Al B." <albert.y.balbekov@xxxxxxxxx>
  • To: Oracle-L oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 3 Feb 2021 09:11:17 -0800

Hello listers,

For those of you who are on Solaris - did you notice that 19c changed the
way it allocates os shared memory segments when using AMM (MEMORY_TARGET) ?
When checking with "pmap -xs" I am finding that it is not creating OSM
(Optimized Shared Memory) segments.
This was not happening in 12.1 and 12.2.
Instead it creates numerous non-locked allocations in regular shared memory
segments.
Not OSM, not ISM and not DISM. Just regular shmid.
Which of course makes them pageable and swappable and not a good thing.
Even pmap -x runs noticeably slower.

I also noticed that USE_LARGE_MEMORY value flips to False with AMM.
This also was not happening in 12.1 and 12.2.

According to the doc *"This parameter is applicable only on the Linux
operating system. However, setting this parameter to FALSE can cause
performance degradation on any platform"*
Which makes me wonder - why does 19c flip it to false with AMM if it causes
degradation ?

I have SR where support confirmed that USE_LARGE_MEMORY flipping to false
with AMM started in 19c.
In SR they also stated that I should NOT try to set it back to true wen
doing AMM (which I tested succeeds in making AMM use OSM segments again )

Anybody knows of another way to make 19c use OSM Solaris segments with AMM ?

Thank you
Albert

Other related posts: