linux 下配置HugePages

1、修改内核参数memlock,单位是KB,参数设置为大约SGA。vi /etc/security/limits.conf* soft memlock 512000* hard memlock 5120002,使用数据库帐号验证大小[oracle@db1 ~]$ ulimit -a | grep lockcore file size (blocks, -c) 0file size (blocks, -f) unlimitedmax locked memory (kbytes, -l) 512000file locks (-x) unlimited3,如果使用AMM内存管理,要取消改设置。MEMORY_TARGET和 MEMORY_MAX_TARGET参数设置为0SQL> alter system reset memory_target scope=spfile ;SQL> alter system reset memory_max_target scope=spfile;SQL> alter system set sga_target = XX scope=spfile;SQL> alter system set pga_aggregate_target = XX scope = spfile;4,计算需要使用的hugepage页面的大小。hugepage目前只能用于共享内存段等少量内存类型,例如oracle SGA。PGA则不适用,这些内存一般不能用于其它用途,因此设置太小则不足够放下所有内存段,太大则空间浪费。目前hugepage的大小[grid@db1 ~]$ grep pagesize /proc/meminfoHugepagesize: 2048 kB简单的计算原理是total SGA_MAX_SIZE(多个instance的总和)/hugepagesize + NN为少量内存盈余,一般多出100就足够了。也可使用oracle提供的计算公式,基本原理是使用ipcs -m来计算共享内存段的大小。统计前注意关闭AMM;5,修改vm.nr_hugepages参数,值为上步计算的数值参数vm.nr_hugepages指明了内存页数,vi /etc/sysctl.confvm.nr_hugepages = 250[root@db1 bin]# echo "vm.nr_hugepages=250" >> /etc/sysctl.conf[root@db1 bin]#[root@db1 bin]# sysctl -psysctl -p 命令使配置生效。6,关闭数据库,重启主机和数据库(理论上不需要重启主机,建议重启)7,验证是否设置正确grep HugePages /proc/meminfoHugePages_Free小于HugePages_Total的值则表示设置成功。如果HugePages_Rsvd应该保持少量保留内存。

注意,HugePages如果配置不恰当会引起系统性能下降等风险,需要慎重。

http://blog.csdn.net/launch_225/article/details/9215905http://bbs.chinaunix.net/thread-3633126-1-1.htmlhttp://blog.csdn.net/zhouyh139/article/details/8662768http://blog.csdn.net/leshami/article/details/8788825

累死累活不说,走马观花反而少了真实体验,

linux 下配置HugePages

相关文章:

你感兴趣的文章:

标签云: