查看: 4541|回复: 4

[转载] 在Linux 5中为oracle配置hugepage的方法

[复制链接]
论坛徽章:
26
2009新春纪念徽章
日期:2009-01-04 14:52:28咸鸭蛋
日期:2011-11-13 14:16:262012新春纪念徽章
日期:2012-01-04 11:51:22紫蛋头
日期:2012-02-02 13:13:42玉石琵琶
日期:2012-02-21 15:04:38蛋疼蛋
日期:2012-03-09 08:25:45奥运纪念徽章
日期:2012-11-27 15:37:34复活蛋
日期:2012-12-07 13:05:172013年新春福章
日期:2013-02-25 14:51:242014年世界杯参赛球队:西班牙
日期:2014-06-26 12:03:53
跳转到指定楼层
1#
发表于 2011-8-24 00:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在Linux 5中为oracle配置hugepage的方法

http://unix-cd.com/vc/www/16/2011-01/17676.html


2011-01-17 22:46 来源: frankfan126.cublog.cn 作者:frankfan126

Hugepage/Big page:

系统进程是通过虚拟地址访问内存,但是CPU必须把它转换程物理内存地址才能真正访问内存。为了提高这个转换效率,CPU会缓存最近的虚拟内存地址和物理内存地址的映射关系,并保存在一个由CPU维护的映射表中。为了尽量提高内存的访问速度,需要在映射表中保存尽量多的映射关系。

而在Redhat Linux中,内存都是以页的形式划分的,默认情况下每页是4K,这就意味着如果物理内存很大,则映射表的条目将会非常多,会影响CPU的检索效率。因为内存大小是固定的,为了减少映射表的条目,可采取的办法只有增加页的尺寸。这种增大的内存页尺寸在Linux 2.1中,称为Big page;在AS 3/4中,称为Hugepage。
如果系统有大量的物理内存(大于8G),则无论32位的操作系统还是64位的,都应该使用Hugepage。

注意:使用Hugepage内存是共享内存,它会一直keep在内存中的,不会被交换出去,也就是说使用hurgepage的内存不能被其他的进程使用,所以,一定要合理设置这个值,避免造成浪费。对于只使用Oracle的服务器来说,把Hugepage_pool设置成SGA大小即可。

在启用了Hugepage的情况下,32位的ORACLE可以把SGA扩展到62G。

[ORACLE 11G]

必须关闭AMM(自动内存管理)特性才能使用hugepage
设置如下初始化参数:
ALTER SYSTEM SET sga_max_size=6720M SCOPE=SPFILE;
ALTER SYSTEM SET sga_target=0 SCOPE=SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=2048 SCOPE=SPFILE;
ALTER SYSTEM SET memory_target=0 SCOPE=SPFILE;
ALTER SYSTEM SET memory_max_target=0 SCOPE=SPFILE;
其他配置同10G

[ORACLE10G]

配置过程
检查hugepagesize
grep Hugepagesize /proc/meminfo
Hugepagesize: 4096 kB
检查是否已经有分配HugePages
cat /proc/meminfo|grep HugePages_Total
HugePages_Total=0
配置分配hugepage的数量
nr_hugepages的计算公式:nr_hugepages>=sga(mb)/Hugepagesize(mb)
echo "vm.nr_hugepages=50" >> /etc/sysctl.conf
sysctl -p
再次检查hugepage的分配情况
grep HugePages_Total /proc/meminfo
HugePages_Total: 6
如果这里显示的值为6,小于配置的数量50,则需要重启
reboot
Broadcast message from root (pts/1) (Mon Jan 25 09:38:04 2010):
The system is going down for reboot NOW!
重启之后,检查hugepage的分配情况
grep HugePages_Total /proc/meminfo
HugePages_Total: 50
现在确认hugepage已经分配了50个单位(50×4096kb=200mb)

配置oracle用户的memlock

需要 vi /etc/security/limits.conf文件,加入标记为红色的两行
计算公式为:>=HugePages_Total×1024,这里设置了2倍的值,即:2×50×1024=102400
cat /etc/security/limits.conf|grep lock
# - memlock - max locked-in-memory address space (KB)
# - locks - max number of file locks the user can hold
oracle soft memlock 102400
oracle hard memlock 102400
检查memlock情况
切换到oracle用户身份,使用ulimit -l命令检查memlock情况
su - oracle
ora_test@oracle[/home/oracle]> ulimit -l
102400
启动数据库
ora_test@oracle[/home/oracle]> sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jan 25 09:50:33 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
idle> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 67111180 bytes
Database Buffers 92274688 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
idle> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
检查是否已经使用了hugepage
ora_test@oracle[/home/oracle]> grep HugePages_Free /proc/meminfo
HugePages_Free: 30
这里显示剩余的hugepage为30,小于HugePages_Total(50),证明oracle已经使用了hugepage
论坛徽章:
0
2#
发表于 2011-8-25 10:00 | 只看该作者

使用道具 举报

回复
论坛徽章:
9
2010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:喀麦隆
日期:2010-07-07 11:50:42授权会员
日期:2010-08-07 15:29:242010年世界杯参赛球队:澳大利亚
日期:2010-08-08 19:32:202010广州亚运会纪念徽章:自行车
日期:2010-09-07 17:26:24ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212010广州亚运会纪念徽章:举重
日期:2011-04-15 12:58:34铁扇公主
日期:2012-02-21 15:02:40ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53
3#
发表于 2011-8-25 10:23 | 只看该作者

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
4#
发表于 2013-5-2 15:43 | 只看该作者
学习啦

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:55:05比亚迪
日期:2013-09-06 09:52:23兰博基尼
日期:2013-08-26 09:13:34紫蛋头
日期:2013-07-08 15:06:57双黄蛋
日期:2013-03-18 15:43:032013年新春福章
日期:2013-02-25 14:51:24奥运会纪念徽章:现代五项
日期:2012-10-22 13:38:05蛋疼蛋
日期:2012-03-12 15:15:47复活蛋
日期:2012-02-21 09:05:41雪佛兰
日期:2013-09-06 09:52:42
5#
发表于 2013-6-16 19:58 | 只看该作者
很多错误 误人子弟

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表