Re: Hugepages question with multiple instances on 1 host
Date: Tue, 30 Apr 2013 13:26:44 +0200
Message-ID: <517FAA74.9070506_at_gmail.com>
Hi Nuno,
On 30/04/2013 12:27, Nuno Souto wrote:
> I understand it is provided in Solaris. Question is: how automatic is
> it then?
> As in: all Oracle instances grab 4M pagesize for SGA?
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).
I checked a few hosts here, different platforms use different values:
*M5000*
$ prtdiag |head -1
System Configuration: Sun Microsystems sun4u Sun SPARC Enterprise
M5000 Server
$ pagesize -a
8192
65536
524288
4194304
33554432
268435456
$ pgrep -f smon | xargs pmap -sx | fgrep ism
0000000380000000 4194304 4194304 - 4194304 4M
rwxsR [ ism shmid=0x2300001d ]
0000000480000000 16 16 - 16 8K
rwxsR [ ism shmid=0x2300001d ]
0000000380000000 4194304 4194304 - 4194304 4M
rwxsR [ ism shmid=0x2400004d ]
0000000480000000 16 16 - 16 8K
rwxsR [ ism shmid=0x2400004d ]
0000000380000000 4194304 4194304 - 4194304 4M
rwxsR [ ism shmid=0x2400003b ]
0000000480000000 16 16 - 16 8K
rwxsR [ ism shmid=0x2400003b ]
20000000 32768 32768 - 32768 4M rwxsR [ ism
shmid=0x22000044 ]
22000000 979968 979968 - 979968 8K rwxsR [ ism
shmid=0x22000044 ]
5DD00000 4096 4096 - 4096 - rwxsR [ ism
shmid=0x22000044 ]
5E100000 15360 15360 - 15360 8K rwxsR [ ism
shmid=0x22000044 ]
5F000000 4096 4096 - 4096 4M rwxsR [ ism
shmid=0x22000044 ]
20000000 36864 36864 - 36864 4M rwxsR [ ism
shmid=0x7e00003e ]
22400000 417280 417280 - 417280 8K rwxsR [ ism
shmid=0x7e00003e ]
3BB80000 512 512 - 512 - rwxsR [ ism
shmid=0x7e00003e ]
3BC00000 233472 233472 - 233472 8K rwxsR [ ism
shmid=0x7e00003e ]
4A000000 4096 4096 - 4096 4M rwxsR [ ism
shmid=0x7e00003e ]
0000000380000000 4194304 4194304 - 4194304 4M
rwxsR [ ism shmid=0x23000022 ]
0000000480000000 16 16 - 16 8K
rwxsR [ ism shmid=0x23000022 ]
20000000 32768 32768 - 32768 4M rwxsR [ ism
shmid=0xa000041 ]
22000000 484352 484352 - 484352 8K rwxsR [ ism
shmid=0xa000041 ]
3F900000 1536 1536 - 1536 - rwxsR [ ism
shmid=0xa000041 ]
3FA80000 136704 136704 - 136704 8K rwxsR [ ism
shmid=0xa000041 ]
48000000 4096 4096 - 4096 4M rwxsR [ ism
shmid=0xa000041 ]
*SPARC T4-4*
$ prtdiag |head -1
System Configuration: Oracle Corporation sun4v SPARC T4-4
$ pagesize -a
8192
65536
4194304
268435456
2147483648
$ pgrep -f smon | xargs pmap -sx | fgrep ism
0000000380000000 4194304 4194304 - 4194304 -2G
rwxsR [ ism shmid=0x5400007f ]
0000000480000000 16 16 - 16 8K
rwxsR [ ism shmid=0x5400007f ]
0000000380000000 2097152 2097152 - 2097152 -2G
rwxsR [ ism shmid=0x2b000063 ]
0000000400000000 1048576 1048576 - 1048576 256M
rwxsR [ ism shmid=0x2b000063 ]
0000000440000000 8 8 - 8 8K
rwxsR [ ism shmid=0x2b000063 ]
0000000380000000 2097152 2097152 - 2097152 -2G
rwxsR [ ism shmid=0x35000041 ]
0000000400000000 1048576 1048576 - 1048576 256M
rwxsR [ ism shmid=0x35000041 ]
0000000440000000 8 8 - 8 8K
rwxsR [ ism shmid=0x35000041 ]
Regards
Dimitre
-- http://www.freelists.org/webpage/oracle-lReceived on Tue Apr 30 2013 - 13:26:44 CEST