So large page
occasionally I notice that sunOS 5.10 can support 256 M large page for oracle SGA.SO large.
QADB007$> uname -a
SunOS QADB007 5.10 Generic_118833-33 sun4v sparc SUNW,Sun-Fire-T200
QADB007$> pmap -sx 25886 | grep -i ism
0000000380000000 25690112 25690112 - 25690112 256M rwxsR [ ism shmid=0x1 ]
00000009A0000000 200704 200704 - 200704 4M rwxsR [ ism shmid=0x1 ]
QADB007$> pagesize -a
8192
65536
4194304
268435456
SunOS QADB007 5.10 Generic_118833-33 sun4v sparc SUNW,Sun-Fire-T200
QADB007$> pmap -sx 25886 | grep -i ism
0000000380000000 25690112 25690112 - 25690112 256M rwxsR [ ism shmid=0x1 ]
00000009A0000000 200704 200704 - 200704 4M rwxsR [ ism shmid=0x1 ]
QADB007$> pagesize -a
8192
65536
4194304
268435456
sunOS5.8 也支持8k的page size,发展太快了。
qadb001$> uname -a ; pagesize -a
SunOS qadb001 5.8 Generic_117350-18 sun4u sparc SUNW,Sun-Fire-V490
8192
SunOS qadb001 5.8 Generic_117350-18 sun4u sparc SUNW,Sun-Fire-V490
8192
related link:
how to get DISM woking on Solaris 8 & Oracle 9iR2
Oracle ISM and DISM: more than a no paging scheme (2/2)… but be careful with Solaris 8
Supporting Multiple Page Sizes in the Solaris™ Operating System



















补充个链接
http://blogs.sun.com/travi/entry/database_scaling_on_sun_fire
We also did characterization of large pagesize selection features in Solaris 10, specifically developed for UltraSPARC T1.
UltraSPARC T1 processor has a 64 entry Instruction and Data TLB per core which supports 8k, 64k, 4M and 256 M pagesizes. Solaris 10 kernel on Sun Fire T2000 has been optimized to make use of large pages for various segments in the address space of a process. Solaris provides optimum pagesize selection algorithm out of the box and requires no special tuning.
Individual feature tests showed following results :
Large Page (LP) feature
Performance gain (%)
LP for text and libraries
6.4 %
LP for ISM (database shared memory)
9.4 %
LP for Kernel heap
6.8 %
LP for heap, stack and anon
1.8 %
We have seen OLTP performance improvements upto 30% due to combined effects of all large page projects in Solaris. While running commercial DBMS on Sun Fire T2000, we see most of the database cache being allocated using 256 MB pages, text getting allocated on 4 MB pages with heap, stack and anonymous memory segments getting allocated using 64 KB pages.