这篇文章讨论Oracle数据库初始化参数use_large_pages的使用。node
SQL> show parameter use_large_pageslinux
NAME TYPE数据库
VALUEoracle
use_large_pages stringapp
TRUEless
在11gR2版本的数据库,use_large_pages的默认值是TRUE。ide
SQL> alter system set use_large_pages=xxx scope=spfile;性能
alter system set use_large_pages=xxx scope=spfilethis
*操作系统
第 1 行出现错误:
ORA-00096: 值 XXX 对参数 use_large_pages 无效, 它必须来自 FALSE, ONLY, AUTO,TRUE 之间
use_large_pages可设置的值包括:FALSE,ONLY,AUTO,TRUE。
下面经过摘取官方文档讨论ONLY和TRUE之间的区别:
5.1.9 Use Automatic Shared Memory Management and Avoid Memory Paging
For any systems with 4 GB or more memory, disable Automatic Memory Management by setting MEMORY_TARGET=0 and enable Automatic Shared Memory Management by setting SGA_TARGET.
The sum of SGA and PGA memory allocations on the database server should always be less than your system's physical memory, and conservatively should be less than 75% of total system memory. However, PGA_AGGREGATE_TARGET is not a hard limit, and for some Data Warehouse or reporting applications, the PGA memory can grow to be 3 X PGA_AGGREGATE_TARGET.
Monitor PGA memory and host-based memory utilization using OracleEnterprise Manager, or by querying v$pgastat and operating systems statistics, to get an accurate understanding of memory utilization.
Avoid memory paging by adjusting the number of databases and applications, or reducing the allocated memory settings.
On Linux Operating systems it is recommended that you configure HugePages so that ASM and database instances can use it for their SGA.
在Linux操做系统推荐配置HugePages,以致于ASM和数据库实例的SGA都能使用HugePage来提升性能。ASM实例的SGA一样有必要使用HugePage来提升性能。
HugePages is a feature integrated into the Linux kernel from release 2.6. This feature provides the alternative to the 4K page size providing bigger pages. Using HugePages has the benefit of saving memory resources by decreasing page table overhead while making sure the memory is not paged to disk. This contributes to faster overall memory performance. Next to this overall node stability will benefit from using HugePages.
Ensuring the entire SGA of a database instance is stored in HugePages can be accomplished by setting the init.ora parameter use_large_pages=only. Setting this parameter will ensure that an instance will start only when it can get all of its memory for SGA from HugePages. For this reason the settinguse_large_pages=only is recommended for database instances.
设置初始化参数中的use_large_pages=only可以确保数据库实例的整个SGA存放在HugePages中。设置这个参数将确保只有当数据库实例的SGA从HugePages中得到全部的内存才能被启动。基于这个缘由,use_large_pages=only是数据库实例推荐的设置。
For ASM instances leave use_large_pages=true (the default value). This setting still ensures that HugePages are used when available, but also ensures that ASM as part of Grid Infrastructure starts when HugePages are not or insufficiently configured.
针对ASM实例,保留use_large_pages=true(默认值),这个设置确保在Hugepage活动的状况下仍然可以使用,可是也确保当HugePages不活动或者没有足够配置的状况下,做为GI一部分的ASM可以被启动。
Use Automatic Shared Memory Management, as HugePages are not compatible with Automatic Memory Management.
--end--