首页 > 数据库 > Oracle > linux配置大页HugePages
The configuration steps below will guide you to do a
persistent system configuration where you would need to do a complete
reboot of the system. Please plan your operations accordingly:
Step 1: Have the memlock user limit set in /etc/security/limits.conf file. Set the value (in KB) slightly smaller than installed RAM. e.g. If you have 64GB RAM installed, you may set:
There is no harm in setting this value larger than your SGA requirements.
The parameters will be set by default on:
Step 2: Re-logon to the Oracle product owner account (e.g. 'oracle') and check the memlock limit
Step 3: If you have Oracle Database 11g or later, the default database created uses the Automatic Memory Management (AMM) feature which is incompatible with HugePages. Disable AMM before proceeding. To disable, set the initialization parameters MEMORY_TARGET and MEMORY_MAX_TARGET to 0 (zero). Please see Document 749851.1 for further information in case you encounter the error below:
Step 4: Make sure that all your database instances are up (including ASM instances) as they would run on production. Use the script hugepages_settings.sh in Document 401749.1 to calculate the recommended value for the vm.nr_hugepageskernel parameter. e.g.:
Note: You can also calculate a proper value for the parameter
yourself but that is not advised if you do not have extensive experience
with HugePages and concepts.
Step 5: Edit the file /etc/sysctl.conf and set the vm.nr_hugepages parameter there:
This will make the parameter to be set properly with each reboot.
Step 6: Stop all the database instances and reboot the server
(Although
settings could have been done dynamically they would not be effective
to the extent we require before a reboot. The best practice is to do a
persistent system configuration and perform a reboot to complete the
configuration as presented through the steps above)
What If the Database / SGA Configurations Change?
The performed configuration is basically based on the RAM installed and combined size of SGA of database instances you are running. Based on that when:
After the system is rebooted, make sure that your database instances (including the ASM instances) are started. Automatic startup via OS configuration or CRS, or manual startup (whichever method you use) should have been performed. Check the HugePages state from /proc/meminfo. e.g.:
The values in the output will vary. To make sure that the configuration is valid, the HugePages_Free value should be smaller than HugePages_Total and there should be some HugePages_Rsvd. HugePages_Rsvd counts free pages that are reserved for use (requested for an SGA, but not touched/mapped yet).
The sum of Hugepages_Free and HugePages_Rsvd may be smaller than your total combined SGA as instances allocate pages dynamically and proactively as needed.
四、计算大页Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration
1.[root@wang ~]# vi hugepages_settings.sh
--添加如下脚本
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31397003/viewspace-2148020/ ,如需转载,请注明出处,否则将追究法律责任。