Performance Tuning Siebel Software on the Sun Platform
Performance Tuning Siebel Software on the Sun Platform
Performance Tuning Siebel Software on the Sun Platform
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
7.6.4 Solaris MPSS <str<strong>on</strong>g>Tuning</str<strong>on</strong>g> for Oracle Server<br />
Available as a standard feature since Solaris 9 OS, Multiple Page Size Support (MPSS)<br />
allows a program to use any hardware-supported page sizes to access porti<strong>on</strong>s of virtual<br />
memory. MPSS improves virtual memory performance by allowing applicati<strong>on</strong>s to use<br />
large page sizes, <strong>the</strong>refore improving resource efficiency and reducing overhead, and<br />
accomplishes this without recompiling or recoding applicati<strong>on</strong>s.<br />
Enable MPSS (Multiple Page Size Support) for Oracle Server and shadow processes <strong>on</strong><br />
Solaris 9 OS or later versi<strong>on</strong>s to reduce <strong>the</strong> TLB miss% rate. It is recommended to use<br />
<strong>the</strong> largest available page size if <strong>the</strong> TLB miss% is high.<br />
Enabling MPSS for Oracle Processes<br />
1. Enable <strong>the</strong> kernel cage if <strong>the</strong> machine is not an E10K or F15K, and reboot <strong>the</strong><br />
system. Kernel cage an be enabled by <strong>the</strong> following setting in /etc/system:<br />
set kernel_cage_enable=1<br />
Why do we need <strong>the</strong> kernel cage? To address a problem with memory<br />
fragmentati<strong>on</strong>. Immediately after a system boot, a sizeable pool of large pages are<br />
available and <strong>the</strong> applicati<strong>on</strong>s can get all of <strong>the</strong>ir mmap() memory allocated from<br />
large pages. This can be verified using pmap -xs . If <strong>the</strong> machine has<br />
been in use for a while, <strong>the</strong> applicati<strong>on</strong> may not get <strong>the</strong> desirable large pages until<br />
<strong>the</strong> machine is rebooted. This is mainly due to <strong>the</strong> fragmentati<strong>on</strong> of physical<br />
memory.<br />
We can vastly minimize <strong>the</strong> fragmentati<strong>on</strong> by enabling <strong>the</strong> kernel cage. With <strong>the</strong><br />
kernel cage enabled, <strong>the</strong> kernel will be allocated from a small c<strong>on</strong>tiguous range of<br />
memory, minimizing <strong>the</strong> fragmentati<strong>on</strong> of o<strong>the</strong>r pages within <strong>the</strong> system.<br />
2. Find out all possible hardware address translati<strong>on</strong> (HAT) sizes supported by <strong>the</strong><br />
system with pagesize -a.<br />
$ pagesize -a<br />
8192<br />
65536<br />
524288<br />
4194304<br />
3. Run trapstat -T. The value shown in <strong>the</strong> ttl row and %time column is <strong>the</strong><br />
percentage of time <strong>the</strong> processor(s) spent in virtual-to-physical memory address<br />
translati<strong>on</strong>s. Depending <strong>on</strong> %time, make a wise choice of a pagesize that will help<br />
reduce reducing <strong>the</strong> iTLB/dTLB miss rate.<br />
4. Create a simple c<strong>on</strong>fig file for MPSS as follows:<br />
oracle*::<br />
Desirable heap and stack size must be <strong>on</strong>e of <strong>the</strong> supported HAT sizes. By<br />
default, 8Kbytes is <strong>the</strong> page size for heap and stack <strong>on</strong> all Solaris releases.<br />
<str<strong>on</strong>g>Performance</str<strong>on</strong>g> <str<strong>on</strong>g>Tuning</str<strong>on</strong>g> <str<strong>on</strong>g>Siebel</str<strong>on</strong>g> <str<strong>on</strong>g>Software</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> <strong>Sun</strong> <strong>Platform</strong> Page 45