LINUX下为ORACLE数据库设置大页--hugepage
在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个
每个内存页,有一个页表项(大概10个字节),记录页的状态、位置
默认块大小是4K时--页表大小:320M。
在大页下2M时,页表只占.625M
在Linux中,每个进程页表独立,有各自的页表。
如果有1000个进程:1000*320M大约是320G。
而1000个进程使用大页:1000*0.625=625M
设置了大页,但没被Oracle使用,原因只有两个:
(1)、SGA_MAX_SIZE超过了大页
(2)、没有设置内存锁
内存:是进程活动的舞台,ORACLE数据库在startup时会自动去查找是否设置有大页。
如有,在大页中分配SGA。
如没有,则正常使用默认数据块大小启动。
#############
设置大页步骤:
1.查看系统当前的大页使用情况:
[ ~]$ cat http://www.qixoo.qixoo.com/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
[ ~]# cat http://qkxue.net/proc/meminfo |grep Huge
HugePages_Total: 200
HugePages_Free: 200
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
3.还需要设置内存锁:-- memlock数量要大于大页的数量--设置为-1,不限制。
vi /etc/security/limits.conf
oracle soft memlock -1
oracle hard memlock -1
[ ~]# ulimit -l
3500000 -----这个数字就是针对大页数量的限制的,足够用。
4.重启数据库,大页已经被ORACLE用上了。
SYS@ bys3>shutdown immediate;
SYS@ bys3>startup
重启数据库过程中不断执行;cat /proc/meminfo |grep Huge,能看到HugePages_Free:的数量不断减少,说明大页正在被使用。
[ ~]# cat /proc/meminfo |grep Huge
HugePages_Total: 200
HugePages_Free: 101
HugePages_Rsvd: 10
HugePages_Surp: 0
Hugepagesize: 2048 kB
LINUX下为ORACLE数据库设置大页--hugepage的更多相关文章
- 转:// LINUX下为ORACLE数据库设置大页--hugepage
一.在解释什么情况下需要开启大页和为啥需要开启大页前先了解下Linux下页的相关的知识:以下的内容是基于32位的系统,4K的内存页大小做出的计算1)目录表,用来存放页表的位置,共包含1024个目录en ...
- windows下plsql连接linux下的oracle数据库
windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...
- plsql 连接 虚拟机Linux下的Oracle数据库 失败
plsql 连接 虚拟机Linux下的Oracle数据库 失败2017年09月09日 09:10:23 守望dfdfdf 阅读数:187 标签: oraclelinux 更多个人分类: 工具 软件编辑 ...
- linux下重启oracle数据库
如何在linux下重启oracle数据库 | 浏览:3930 | 更新:2013-09-18 19:33 1 2 3 4 5 6 分步阅读 在实际工作项目中,有时候会遇到需要对oracle数据库进行重 ...
- Linux下进行Oracle数据库安装
一般来说我们Windows下进行安装Oracle都很简单,但Linux下却要输入很多命令,以下的安装步骤是本人经过多次安装Linux下的Oracle经验,希望能帮到大家 一.在Linux服务器上创建o ...
- Linux 下安装oracle数据库
原文出处 http://www.linuxidc.com/Linux/2015-02/113222.html 需要安装Oracle DataGuard,所以先要安装单台Oracle11g, ...
- linux下安装oracle数据库详细教程
一.安装yum源 下载或拷贝RedHat的iso镜像到本地,比如 /repo/iso/ rhel-server-6.6-x86_64-dvd.iso 1.建立ISO文件存放目录(/repo/iso)和 ...
- Linux下修改Oracle数据库字符集命令
常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle ...
- Linux下改动Oracle数据库字符集命令
常见情形:从server备份Oracle数据库后再到本地机器上还原Oracle数据库的时候常常会碰见数据库字符编码不一致的情况,能够用下面命令来改动本地的Oracle数据库字符编码,然后顺利还原Ora ...
随机推荐
- ILMerge 简单应用
ILMerge是合并.net的assembly的工具,最新版的支持.net 4.0的ILmerge下载: http://www.microsoft.com/downloads/details.aspx ...
- Windows Phone:如何检查WMAppManifest中的Capability属性
在Windows Phone应用中有一个应用程序清单(WMAppManifest.xml),其中对于不同的应用可以设定Capability来告知需要哪些特性或功能,详细内容可以参考官方文档: http ...
- oracle系统包—-dbms_output用法
dbms_output包主要用于调试pl/sql程序,或者在sql*plus命令中显示信息(displaying message)和报表,譬如我们可以写一个简单的匿名pl/sql程序块,而该块出于某种 ...
- Gradle tip #1: tasks
With this post I would like to start series of Gradle-related topics I wish I knew when I first star ...
- 从0开始学Java——eclipse下运行servlet程序警告:Setting property 'source' to 'org.eclipse.jst.jee.server:类名' did not find a matching property.
在使用Eclipse 创建第一个 Servlet之后,并且配置好了tomcat,然后Run on server的之后,提示标题所示错误: 警告: [SetContextPropertiesRule]{ ...
- Cannot Change Opencv Webcam Setting
I have encountered a problem that when I use opencv API, I cannot change the width and height of Web ...
- 一个基于.NET平台的自动化/压力测试系统设计简述
AutoTest系统设计概述 AutoTest是一个基于.NET平台实现的自动化/压力测试的系统,可独立运行于windows平台下,支持分布式部署,不需要其他配置或编译器的支持.(本质是一个基于协议的 ...
- PHP+MD5
echo substr(md5("admin"),8,16);//16位MD5加密,16位加密是32位加密从第8个字符开始到16个字符,用substr函数截取了字符得到.. ech ...
- 数据结构之链表、栈和队列 java代码实现
定义抽象节点类Node: package cn.wzbrilliant.datastructure; /** * 节点 * @author ice * */ public abstract class ...
- css3面试的时候需要记忆的东西
1.响应式布局: <link rel="stylesheet" href="1.css" media="screen and (min-widt ...