LINUX下为ORACLE数据库设置大页

php中文网
发布: 2016-06-07 15:50:38
原创
1501人浏览过

在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类于aix中的lagepage。 为什么 使用大页? LINUX内存的默认块大小是4K 如果SGA为:128G select 128*1024*1024/4 from dual;33554432个(三千多万), select 128*1024/2 from dual; 6553

在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage。

为什么 使用大页?

LINUX内存的默认块大小是4K
如果SGA为:128G
select 128*1024*1024/4 from dual;33554432个(三千多万),

select 128*1024/2 from dual; 65536个

1G   1024*1024/4*10/1024/1024大约为2.5M,也就是1G内存大约需要2.5M PAGESIZE

每个内存页,有一个页表项(大概10个字节),记录页的状态、位置
默认块大小是4K时--页表大小:320M。
在大页下2M时,页表只占.625M

在Linux中,每个进程页表独立,有各自的页表。
如果有1000个进程:1000*320M大约是320G。
而1000个进程使用大页:1000*0.625=625M

设置了大页,但没被Oracle使用,原因只有两个:

(1)、SGA_MAX_SIZE超过了大页(如果sga_max_size sga_target不一致时,要大于sga_max_size )
(2)、没有设置内存锁--/etc/security/limits.conf中memlock
内存:是进程活动的舞台,ORACLE数据库在startup时会自动去查找是否设置有大页。
如有,在大页中分配SGA。
如没有,则正常使用默认数据块大小启动。
#############

设置大页步骤:

1.查看系统当前的大页使用情况:
[oracle@bys3 ~]$ cat /proc/meminfo |grep Huge
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB   --大页大小是2M
BYS@ bys3>show parameter sga_max   --查看数据库SGA大小--我的实验机
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 216M

2.  设置大页的数量
--这里是200个*2M=400M,SGA最大216M,大页的内存要大于SGA大小,才能被ORACLE使用,所以我设置200个。

vi /etc/sysctl.conf
在里面增加一行:
vm.nr_hugepages=200
保存之后执行:
sysctl -p
查看:  --如果HugePages_Free:未到200,多执行几次sysctl -p
[root@bys3 ~]# cat /proc/meminfo |grep Huge
HugePages_Total:     200
HugePages_Free:      200
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

3.还需要设置内存锁:

某地板超炫企业网站1.1
某地板超炫企业网站1.1

1、演示:以截图为准 2、程序说明 程序试用后台:http://你的域名/admin/login.asp 后台登陆帐号:admin 密码:admin123 说明: 这个是基于asp+access的企业网站源码,数据库已设有有防下载,网站更安全 要修改网站,自定义你自己要的页面,和美化页面都是你自己完成,网站源码程序完整,后台功能强大。 调试运行环境:要安装IIS服务器(IIS的安装和配置,安装好

某地板超炫企业网站1.1 0
查看详情 某地板超炫企业网站1.1

--此设置需要重新登陆或重启才能生效。  memlock数量要大于大页的数量--设置为-1,不限制。

vi /etc/security/limits.conf
oracle   soft   memlock    -1
oracle   hard   memlock    -1
[root@bys3 ~]# ulimit -l
3500000   -----这个数字就是针对大页数量的限制的,足够用。

4.重启数据库,大页已经被ORACLE用上了。
SYS@ bys3>shutdown immediate;
SYS@ bys3>startup

重启数据库过程中不断执行;cat /proc/meminfo |grep Huge,能看到HugePages_Free:的数量不断减少,说明大页正在被使用。
[root@bys3 ~]# cat /proc/meminfo |grep Huge
HugePages_Total:     200
HugePages_Free:      101
HugePages_Rsvd:       10
HugePages_Surp:        0
Hugepagesize:       2048 kB

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号