HugePages是集成到Linux kernel 2.6中的一个功能。启用HugePages可以使用操作系统来支持比缺省的内存页(4KB)更大的内存页。使用非常大的内存页大小可以通过减少访问页表条目所需要的系统资源数量而提高系统性能。HugePages对于32位与64位系统都是有效的。HugePage的大小范围从2MB到256MB,依赖于内核版本和硬件架构。对于Oracle数据库,使用HugePages减少操作系统维护内存页
状态并增加Translation Lookaside Buffer(TLB)的撞击率。

1.使用HugePages来优化SGA

不使用HugePages时,操作系统将保持每个内存页大小为4KB,当为SGA分配内存页时,操作系统内核必须对分配给SGA的每个4KB页使用页生命周期(脏,可用,映射到进程,等等)持续更新。

使用HugePages时,操作系统页表(虚拟内存到物理内存的映射)很小,因为每个页表条目指向的内存页大小从2MB到256MB。同时内核有比较少的内存页生命周期被监控。例如,如果64位硬件使用HugePages,并且想要映射256MB的内存,你可能只需要一个页表条目(PTE)。如果不使用HugePages并且想要映射256MB内存,那么必须有256*1024KB/4KB=65536个PTEs。

HugePages提供了以下优点:
通过增加TLB撞击率来提高性能
内存页被锁定在内存中并且不会发生交换,对共享内存结构比如SGA提供了随机访问
连续内存页预分配除了用于系统的共享内存比如SGA不能用于其它的目的
因为使用大的内存页大小所以虚拟内存相关的内核有较少性能开销

sga_target=(物理内存*75%)*80%
sga_max_size=(物理内存*75%)*80%
pga_aggregate_target=(物理内存*75%)*20% alter system set sga_max_size=160000M scope=spfile sid='*';
alter system set sga_target=160000M scope=spfile sid='*';
alter system set pga_aggregate_target=40000M scope=spfile; alter system set sga_max_size=320000M scope=spfile sid='*';
alter system set sga_target=320000M scope=spfile sid='*';
alter system set pga_aggregate_target=80000M scope=spfile;

-------------启用hugepages,数据库在asmm下运行
数据库实例在启动状态下
运行 sh /tmp/hugepages_settings.sh
根据hugepages_settings.sh的输出值对内核参数vm.nr_hugepages进行设置
例如:Recommended setting: vm.nr_hugepages = 160264

设置在/etc/sysctl.conf 文件尾部添加或修改参数
vm.nr_hugepages = 160264


2 对Linux配置HugePages
运行以下命令来判断内核是否支持HugePages:

[root@jyrac1 ~]# uname -r
2.6.18-164.el5
[root@jyrac1 ~]# grep Huge /proc/meminfo
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

有一些Linux缺省情况下是不支持HugePages的。 对于这样的系统使用config_hugetlbfs和config_hugetlb_page配置选项来构建Linux内核。config_hugetlbfs位于文件系统并且当你选择config_hugetlbfs时需要同时选择config_hugetlb_page。

编辑/etc/security/limits.conf文件来设置memlock。memlock设置以KB为单位,并且当启用HugePages内存时,最大锁定内存限制应该被设置为当前可随机访问内存的90%,当没有启用HugePages内存时,最大锁定内存限制应该被设置成至少3145728KB(3GB)。例如,如果有2G可随机访问内存,并且增加以下条目来增加最大锁定内存地址空间:

[root@jyrac1 ~]# vi /etc/security/limits.conf
grid soft memlock 2097152
grid hard memlock 2097152
oracle soft memlock 2097152
oracle hard memlock 2097152

也可以将memlock的值设置为比SGA的值大

以grid用户登录,并执行ulimit -l命令来验证新设置的memlock是否生效

[grid@jyrac1 ~]$ ulimit -l
2097152

以oracle用户登录,并执行ulimit -l命令来验证新设置的memlock是否生效

[oracle@jyrac1 ~]$ ulimit -l
2097152

运行以下命令来显示Hugepagesize变量:

[oracle@jyrac1 ~]$ grep Hugepagesize /proc/meminfo
Hugepagesize:     2048 kB

完成以下过程来创建一个脚本用来为当前共享内存段计算hugepages配置的建议值创建一个hugepages_settings.sh脚本并增加以下内容:

[root@jyrac1 /]# vi hugepages_settings.sh
#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
# on Oracle Linux
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
#
# This script is provided by Doc ID 401749.1 from My Oracle Support
# http://support.oracle.com# Welcome text
echo "
This script is provided by Doc ID 401749.1 from My Oracle Support
(http://support.oracle.com) where it is intended to compute values for
the recommended HugePages/HugeTLB configuration for the current shared
memory segments on Oracle Linux. Before proceeding with the execution please note following:* For ASM instance, it needs to configure ASMM instead of AMM.* The 'pga_aggregate_target' is outside the SGA and you should accommodate this while calculating SGA size.* In case you changes the DB SGA size, as the new SGA will not fit in the previous HugePages configuration, it had better disable the whole HugePages, start the DB with new SGA size and run the script again.
And make sure that:* Oracle Database instance(s) are up and running* Oracle Database 11g Automatic Memory Management (AMM) is not setup (See Doc ID 749851.1)* The shared memory segments can be listed by command:# ipcs -mPress Enter to proceed..."read# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk '{print $2}'`
if [ -z "$HPG_SZ" ];thenecho "The hugepages may not be supported in the system where the script is being executed."exit 1
fi# Initialize the counter
NUM_PG=0# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | cut -c44-300 | awk '{print $1}' | grep "[0-9][0-9]*"`
doMIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`if [ $MIN_PG -gt 0 ]; thenNUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`fi
doneRES_BYTES=`echo "$NUM_PG * $HPG_SZ * 1024" | bc -q`# An SGA less than 100MB does not make sense
# Bail out if that is the case
if [ $RES_BYTES -lt 100000000 ]; thenecho "***********"echo "** ERROR **"echo "***********"echo "Sorry! There are not enough total of shared memory segments allocated for
HugePages configuration. HugePages can only be used for shared memory segments
that you can list by command:# ipcs -mof a size that can match an Oracle Database SGA. Please make sure that:* Oracle Database instance is up and running * Oracle Database 11g Automatic Memory Management (AMM) is not configured"exit 1
fi# Finish with results
case $KERN in'2.2') echo "Kernel version $KERN is not supported. Exiting." ;;'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;'2.6') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;'3.8') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;'3.10') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;'4.1') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
esac# End

执行以下命令来改变hugepages_settings.sh脚本的权限

[root@jyrac1 /]# chmod +x hugepages_settings.sh

运行hugepages_settings.sh脚本来计算hugepages配置的参数值

[root@jyrac1 /]# ./hugepages_settings.sh
This script is provided by Doc ID 401749.1 from My Oracle Support
(http://support.oracle.com) where it is intended to compute values for
the recommended HugePages/HugeTLB configuration for the current shared
memory segments on Oracle Linux. Before proceeding with the execution please note following:* For ASM instance, it needs to configure ASMM instead of AMM.* The 'pga_aggregate_target' is outside the SGA and you should accommodate this while calculating SGA size.* In case you changes the DB SGA size, as the new SGA will not fit in the previous HugePages configuration, it had better disable the whole HugePages, start the DB with new SGA size and run the script again.
And make sure that:* Oracle Database instance(s) are up and running* Oracle Database 11g Automatic Memory Management (AMM) is not setup (See Doc ID 749851.1)* The shared memory segments can be listed by command:# ipcs -mPress Enter to proceed...***********
** ERROR **
***********
Sorry! There are not enough total of shared memory segments allocated for
HugePages configuration. HugePages can only be used for shared memory segments
that you can list by command:# ipcs -mof a size that can match an Oracle Database SGA. Please make sure that:* Oracle Database instance is up and running * Oracle Database 11g Automatic Memory Management (AMM) is not configured

从上面的信息可以看到需要确认Oracle实例是否正在运行,如果是Oracle 11g不能使用AMM

[root@jyrac1 ~]# ps -ef | grep pmon
grid      4116     1  0 Apr18 ?        00:00:03 asm_pmon_+ASM1
oracle    4944     1  0 Apr18 ?        00:00:03 ora_pmon_jyrac1
root     18184 29273  0 15:15 pts/1    00:00:00 grep pmon

上面信息可以看到Oracle实例正在运行。

[grid@jyrac1 ~]$ sqlplus / as sysasmSQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 20 15:20:23 2016Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Real Application Clusters and Automatic Storage Management optionsSQL> set long 900
SQL> set linesize 900
SQL> show parameter instance_nameNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
instance_name                        string                 +ASM1SQL> show parameter memoryNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
memory_max_target                    big integer            1076M
memory_target                        big integer            1076M
[oracle@jyrac1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 20 15:21:04 2016Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing optionsSQL> set long 900
SQL> set linesize 900
SQL> show parameter instance_nameNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      jyrac1
SQL> show parameter memoryNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 2G
memory_target                        big integer 2G
shared_memory_address                integer     0

确实asm与数据库实例都启用了AMM,需要禁用AMM但是可以使用ASMM修改ASM实例,禁用AMM,但使用ASMM,如果是RAC所有节点都需要修改

SQL> alter system set sga_max_size=640M scope=spfile sid='*';System altered.SQL> alter system set sga_target=640M scope=spfile sid='*';System altered.SQL> alter system set pga_aggregate_target=320M scope=spfile sid='*';System altered.SQL>  alter system set memory_target=0 scope=spfile sid='*';System altered.#这里对于memory_target不能使用reset否则会出现以下错误:SQL> startup
ORA-01078: failure in processing system parameters
ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
ORA-00849: SGA_TARGET 671088640 cannot be set to more than MEMORY_MAX_TARGET 0.
SQL> alter system reset memory_max_target scope=spfile sid='*';System altered.
#修改数据库实例,禁用AMM,但使用ASMM,如果是RAC所有节点都需要修改SQL> alter system set sga_max_size=640M scope=spfile sid='*';System altered.SQL> alter system set sga_target=640M scope=spfile sid='*';System altered.SQL> alter system set pga_aggregate_target=320M scope=spfile sid='*';System altered.SQL> alter system reset memory_max_target scope=spfile sid='*';System altered.SQL> alter system reset memory_target scope=spfile sid='*';System altered.

重启ASM与数据库实例,如果是RAC所有节点都需要重启,首先停止ASM与数据库实例

[grid@jyrac1 ~]$ srvctl stop asm -n jyrac1 -f
[grid@jyrac1 ~]$ srvctl stop asm -n jyrac2 -f
[grid@jyrac1 ~]$ srvctl stop database -d jyrac
[grid@jyrac1 ~]$ crsctl stat res -tNAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dgOFFLINE OFFLINE      jyrac1                                       OFFLINE OFFLINE      jyrac2
ora.DATADG.dgOFFLINE OFFLINE      jyrac1                                       OFFLINE OFFLINE      jyrac2
ora.LISTENER.lsnrONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.asmOFFLINE OFFLINE      jyrac1                   Instance Shutdown   OFFLINE OFFLINE      jyrac2                   Instance Shutdown
ora.gsdONLINE  OFFLINE      jyrac1                                       ONLINE  OFFLINE      jyrac2
ora.net1.networkONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.onsONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.registry.acfsOFFLINE OFFLINE      jyrac1                                       OFFLINE OFFLINE      jyrac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr1        ONLINE  ONLINE       jyrac2
ora.cvu1        ONLINE  ONLINE       jyrac2
ora.jyrac.db1        OFFLINE OFFLINE                               Instance Shutdown   2        OFFLINE OFFLINE                               Instance Shutdown
ora.jyrac1.vip1        ONLINE  ONLINE       jyrac1
ora.jyrac2.vip1        ONLINE  ONLINE       jyrac2
ora.oc4j1        ONLINE  ONLINE       jyrac2
ora.scan1.vip1        ONLINE  ONLINE       jyrac2

启动ASM与数据库实例

grid@jyrac1 ~]$ sqlplus / as sysasmSQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 20 17:48:32 2016Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to an idle instance.SQL> startup
ASM instance startedTotal System Global Area  669581312 bytes
Fixed Size                  1366724 bytes
Variable Size             643048764 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted
ASM diskgroups volume enabledSQL> show parameter instance_nameNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
instance_name                        string                 +ASM2
SQL> show parameter memoryNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
memory_max_target                    big integer            0
memory_target                        big integer            0
SQL> show parameter sgaNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga                             boolean                FALSE
sga_max_size                         big integer            640M
sga_target                           big integer            640Mgrid@jyrac2 ~]$ sqlplus / as sysasmSQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 20 17:48:32 2016Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to an idle instance.SQL> startup
ASM instance startedTotal System Global Area  669581312 bytes
Fixed Size                  1366724 bytes
Variable Size             643048764 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted
ASM diskgroups volume enabledSQL> show parameter instance_nameNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
instance_name                        string                 +ASM2
SQL> show parameter memoryNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
memory_max_target                    big integer            0
memory_target                        big integer            0
SQL> show parameter sgaNAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga                             boolean                FALSE
sga_max_size                         big integer            640M
sga_target                           big integer            640M
[grid@jyrac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dgONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.DATADG.dgONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.LISTENER.lsnrONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.asmONLINE  ONLINE       jyrac1                   Started             ONLINE  ONLINE       jyrac2                   Started
ora.gsdONLINE  OFFLINE      jyrac1                                       ONLINE  OFFLINE      jyrac2
ora.net1.networkONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.onsONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.registry.acfsONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr1        ONLINE  ONLINE       jyrac1
ora.cvu1        ONLINE  ONLINE       jyrac1
ora.jyrac.db1        OFFLINE OFFLINE                               Instance Shutdown   2        OFFLINE OFFLINE                               Instance Shutdown
ora.jyrac1.vip1        ONLINE  ONLINE       jyrac1
ora.jyrac2.vip1        ONLINE  ONLINE       jyrac2
ora.oc4j1        ONLINE  ONLINE       jyrac1
ora.scan1.vip1        ONLINE  ONLINE       jyrac1

从上面的信息可以看到asm实例已经启动了并且禁用了AMM

[grid@jyrac1 ~]$ srvctl start database -d jyrac
[grid@jyrac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dgONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.DATADG.dgONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.LISTENER.lsnrONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.asmONLINE  ONLINE       jyrac1                   Started             ONLINE  ONLINE       jyrac2                   Started
ora.gsdONLINE  OFFLINE      jyrac1                                       ONLINE  OFFLINE      jyrac2
ora.net1.networkONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.onsONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
ora.registry.acfsONLINE  ONLINE       jyrac1                                       ONLINE  ONLINE       jyrac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr1        ONLINE  ONLINE       jyrac1
ora.cvu1        ONLINE  ONLINE       jyrac1
ora.jyrac.db1        ONLINE  ONLINE       jyrac1                   Open                2        ONLINE  ONLINE       jyrac2                   Open
ora.jyrac1.vip1        ONLINE  ONLINE       jyrac1
ora.jyrac2.vip1        ONLINE  ONLINE       jyrac2
ora.oc4j1        ONLINE  ONLINE       jyrac1
ora.scan1.vip1        ONLINE  ONLINE       jyrac1
SQL> show parameter instance_nameNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      jyrac1
SQL> show parameter memoryNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
shared_memory_address                integer     0
SQL> show parameter sgaNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 640M
sga_target                           big integer 640MSQL> show parameter instance_nameNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      jyrac2
SQL> show parameter memoryNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
memory_max_target                    big integer 0
memory_target                        big integer 0
shared_memory_address                integer     0
SQL> show parameter sgaNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 640M
sga_target                           big integer 640M

数据库也已经成功启动并且禁用了AMM

再次执行hugepages_settings.sh脚本计算HugePages的大小

[root@jyrac1 /]# ./hugepages_settings.sh
Recommended setting: vm.nr_hugepages = 649

编辑/etc/sysctl.conf文件增加参数vm.nr_hugepages = 649,并执行sysctl -p命令使用修改立即生效,但oracle实例并没有使用HugePages从HugePages_Total与HugePages_Free相等可以判断出来。

[root@jyrac1 /]# vi /etc/sysctl.conf
vm.nr_hugepages = 649
[root@jyrac1 /]# sysctl -p
[root@jyrac1 /]# grep Huge /proc/meminfo
HugePages_Total:   649
HugePages_Free:    649
HugePages_Rsvd:      0
Hugepagesize:     2048 kB

重启实例

SQL> startup
ASM instance startedTotal System Global Area  669581312 bytes
Fixed Size                  1366724 bytes
Variable Size             643048764 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted
ASM diskgroups volume enabled

查看asm实例的alert_+ASM1.log可以看到如下信息:

Starting ORACLE instance (normal)
************************ Large Pages Information *******************
Per process system memlock (soft) limit = 2048 MBTotal Shared Global Region in Large Pages = 642 MB (100%)Large Pages used by this instance: 321 (642 MB)
Large Pages unused system wide = 328 (656 MB)
Large Pages configured system wide = 649 (1298 MB)
Large Page size = 2048 KB
SQL> startup
ORACLE instance started.Total System Global Area  669581312 bytes
Fixed Size                  1366724 bytes
Variable Size             243270972 bytes
Database Buffers          419430400 bytes
Redo Buffers                5513216 bytes
Database mounted.
Database opened.

查看实例jyrac1的alert_jyrac1.log可以看到如下信息:

Starting ORACLE instance (normal)
************************ Large Pages Information *******************
Per process system memlock (soft) limit = 2048 MBTotal Shared Global Region in Large Pages = 642 MB (100%)Large Pages used by this instance: 321 (642 MB)
Large Pages unused system wide = 7 (14 MB)
Large Pages configured system wide = 649 (1298 MB)
Large Page size = 2048 KB
[root@jyrac1 /]# grep Huge /proc/meminfo
HugePages_Total:   649
HugePages_Free:    239
HugePages_Rsvd:    232
Hugepagesize:     2048 kB

从上面的信息可以看到已经使用了Hugepages

3.HugePages的限制

HugePages有以下限制:

a.对于Oracle 11g及以上版本数据库实例必须对memory_target与memory_max_target参数执行alter system reset命令,但对于ASM实例,对于memory_target参数只能设置为0。

b.AMM与HugePages是不兼容的,当使用AMM,整个SGA内存通过在/dev/shm创建文件来进行内存的分配,当使用AMM分配SGA时,HugePages不会被保留。

c.如果在32位系统中使用VLM,那么对数据库buffer cache不能使用HugePages。但对于SGA中的其它组件比如shared_pool,
large_pool等等可以使用HugePages。对于VLM(buffer cache)分配内存是通过使用共享内存文件系统(ramfs/tmpfs/shmfs)来实现的。

d.HugePgaes在系统启动后不受分配或释放,除非系统管理员通过修改可用页数或改变池大小来改变HugePages的配置。如果在系统启动时内存中没有保留所需要内存空间,那么HugePages会分配失败。

e.确保HugePages配置合理,如果内存耗尽,应用将不能使用HugePages。

oracle数据库HugePages配置相关推荐

  1. oracle数据库出错0095,一种ORACLE数据库优化配置的方法及系统专利_专利查询 - 天眼查...

    1. 一种ORACLE数据库优化配置的方法,其特征在于,包括: 建立配置库类别,根据所述配置库类别分别对应建立配置参数,并为所述配置参数设 置取值列表,其中,所述配置参数的数据类型为数值型,布尔型或字 ...

  2. Linux使用笔记:Oracle数据库安装配置(命令行安装)

    文章目录 1. Oracle数据库安装配置 1.1. 安装准备 1.2. 修改内核参数 1.3. 创建安装用户和目录 1.4. 修改配置文件 1.5. 开始安装 1.5.1. 上传安装包 1.5.2. ...

  3. Spring Security ACL使用Oracle数据库的配置与数据库脚本

    在Spring Security的官方文档上面只给出了关于security ACL的hsql脚本,但是在使用Oracle数据库时spring没有明确给出数据库创建脚本和配置说明,以下是自己在使用Ora ...

  4. oracle 数据库基础配置,Oracle数据库网络服务配置基础、SQL编程详解-Oracle

    Oracle数据库是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle数据库的主要内容包括:表空间.用户权限.四种约束等基础概念,DDL ...

  5. Oracle数据库安装配置

    0. 基础 系统 Windows7-64bit-旗舰版 Oracle win64_11gR2_database Navicat Premium navicat120_premium_cs_x64 PL ...

  6. Oracle数据库安装配置详细教程汇总(含11g、12c、18c、19c、21c)

    不论你是数据库小白,还是久经沙场的技术专家,你接触和运维Oracle数据库的第一步可能都是安装配置.并且随着软硬件的升级.替换以及业务场景的变化,数据库安装也将是你常常会进行的操作之一. 这里先为大家 ...

  7. oracle数据库tns配置方法详解-转

    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,(可以用sqlDeveloper,不用配置TNS) ...

  8. 连接多个oracle数据库的配置,oracle数据库连接配置文件

    Q1:C#连接oracle数据库Add.config配置文件怎么写 C#连接Oracle数据库(查询数据)using System; using System.Collections.Generic; ...

  9. 查看oracle数据库服务器配置,数据库服务器配置Oracle数据库的配置方案完全分析...

    使用或Oracle东西:一数据库用户施行一数据库使用或一个Oracle东西,可向Oracle数据库发出SQL语句. 2.对于每一个用户,其数据库使用是由用户历程所运转,并无一个公用办事器历程.施行Or ...

  10. erlang odbc mysql参数_Erlang在Redhat 5.3下使用unixODBC连接Oracle数据库的配置

    个人在安装配置时遇到一些麻烦,特此记录如下: 环境 数据库服务器操作系统:Windows 2003 数据库:Oracle Database 10g Enterprise Edition Release ...

最新文章

  1. Java复习(四)类的重用
  2. 2018-2019-2 20175223 实验三《敏捷开发与XP实践》实验报告
  3. 鸿蒙系统可以替代安卓吗,华为今天发布的鸿蒙系统,到底能不能替代安卓?
  4. Java—格式化日期/时间
  5. 最低什么样的学历,才可以选择转行web前端?
  6. Linux中级之lvs三个模式的图像补充(nat,dr,tun)
  7. scrapy 保存html页面,28.用配合scrapy的方式爬取本地保存的html
  8. colspan会影响内部单元格宽度失效_封装胶残留致MEMS振动传感器失效分析
  9. sql server完全卸载
  10. 太极团队首发:iOS 8.3完美越狱工具发布
  11. Java 读取p12 证书私钥
  12. python日志:去掉noteexpress导出参考文献题录的空格
  13. IMO Res MSC 307(88) 国际船舶材料防火试验
  14. java第三课:原生数据类型是用陷阱(pitfall of Primitive Data Type)
  15. PS---星空名片制作教程
  16. 插入式CAN总线隔离适配器LCAN-Opto在高空作业平台上隔离干扰、调理信号的应用案例介绍
  17. 微软project下载安装及激活教程
  18. Centos7 升级 glibc 教程,解决各种报错
  19. 异常:getInputStream() has already been called for this request
  20. 自动控制原理(根轨迹)

热门文章

  1. Preferences DataStore------JAVA
  2. SharePoint 2019 部署(二)搜索
  3. 大学计算机应用作业,大学计算机应用作业
  4. android微信认证失败怎么办,微信登陆好友头像验证失败该怎么办?
  5. 从文件结构认识HLS
  6. 重磅 | 谱尼测试圆满承办化妆品生产企业研学班
  7. 360 html快捷,360极速浏览器如何设置键盘快捷键?
  8. java 均值方差 计算器_方差均值计算器
  9. 奇异值分解(SVD)线性变换和几何意义
  10. 使用逐步细化开发 DFD