Re: Hugepages question with multiple instances on 1 host

From: Nuno Souto <dbvision_at_iinet.net.au>
Date: Wed, 01 May 2013 22:23:36 +1000
Message-ID: <51810948.9090507_at_iinet.net.au>



That large page shared memory is locked in memory is a given. It happens in ALL implementations of largepages and Oracle use of those. Be that Solaris, Aix, Linux or whatever. As to the advantages, they are obvious and have been obvious for many years now, even though for a long time a lot of folks doubted them.

I thought the question originally was:
"can one instance use normal pages and another largepages in the same server?"
In Aix, it's simple. I take it that using the given somewhat undocumented parameter, it's also simple in Linux.

By the looks of it, in Solaris it's now so automatic that it's not possible to control it, unless we use a completely undocumented parameter. That is certainly a change from the previous attitude of "use largepages at your own risk" of a few years ago, with the consequent "misterious aspect" that "only a few illuminated could understand".

Good to see that the last millenium has finally arrived in Solaris land! It's only been the case everywhere else for nearly a decade... :)

-- 
Cheers
Nuno Souto
dbvision_at_iinet.net.au


On 30/04/2013 9:26 PM, Radoulov, Dimitre wrote:

>
> In the white paper: Best Practices for Running Oracle Databases in
> Oracle Solaris Containers
> (http://www.oracle.com/technetwork/server-storage/solaris10/solaris-oracle-db-wp-168019.pdf),
> Oracle states the following, regarding the _shared memory_:
>
> By default, an Oracle database instance uses intimate shared memory
> (ISM) instead of standard System V shared memory on Oracle Solaris.
> When a shared memory segment is made into an ISM segment, *it is mapped
> using large pages and the memory for the segment is locked
> (that is, it cannot be paged out)*. This greatly reduces the overhead
> due to process context switches, which improves the database's performance
> linearity under load.
> [...]
> [next DISM is discussed]
>
> I suppose the use of ISM could be disabled with the undocumented
> _use_ism = false.
> and I suppose that's not a good idea :)
>
> For other memory areas - heap, data - global parameters exist, see |
> use_text_pgsz4m, |||use_text_pgsz64k, |||||use_initdata_pgsz64k etc.|| |
> Default values and parameters vary across platforms, more details here:
> technopark02.blogspot.it/2006/01/large-page-support-for-instructions.html.
>
>> Or does the Oracle executable have to be pre-configured with the wanted
>> size using ppgsz(1)?
> If I understand the documentation correctly - in most cases (including
> Oracle): no,
> the OS sets the pagesize automatically based on default values,
> supported page sizes
> and required memory usage.
>
>> Is 4M the default size? And is there an option to say some instances
>> use larger page sizes, some don't?
> I don't know. It could be possible via a project in Solaris 10+,
> (me personally, I would leave the memory management to the OS).
>
>
-- http://www.freelists.org/webpage/oracle-l
Received on Wed May 01 2013 - 14:23:36 CEST

Original text of this message