linux与oracle内核与内存技术

上传人:陈** 文档编号:182493924 上传时间:2023-01-24 格式:PPTX 页数:23 大小:448.68KB
返回 下载 相关 举报
linux与oracle内核与内存技术_第1页
第1页 / 共23页
linux与oracle内核与内存技术_第2页
第2页 / 共23页
linux与oracle内核与内存技术_第3页
第3页 / 共23页
点击查看更多>>
资源描述
x86-32位体系结构中Linux+Oracle内核与内存管理技术演讲者:pinerLINUX与ORACLE的完美结合 “我们将把自己的所有业务都运行于Linux之上。”Larry EllisonRedhat Advance Server的内存管理 由于32-bit系统构架的限制,线性虚拟内存空间的大小在32-bit平台上为4 GB的固定大小 采用PAE技术而拥有36位的线性寻址能力,这就可以让Redhat Advance Server可以使用到达64G的虚拟内存空间 在PAE的Redhat AS上,Oracle怎么样充分利用内存呢?内存管理方式 AS 2.1中,4G的虚拟地址空间将被划分为3G的用户空间与1G的核心空间,在这种方式下,每个用户进程最多能访问3G的虚拟内存空间 在AS 3.0,为了更好的利用大内存,出现了一种称为hugemem的核心,将采用4+4的寻址方式,也就是说,用户进程与核心进程将可以有单独的4G的虚拟地址寻址能力 内存管理方式Redhat Advance Server的核心介绍 kernel-BOOT核心 AS 2.1与3.0的kernel-smp核心 AS 2.1的kernel-enterprice核心 AS 3.0的kernel-hugemem核心 获得内核的办法 安装新的核心包(RPM包)重新编译新的核心(make)AS 2.1将Oracle SGA扩大到2.7G Oracle 817以上 修改OS基地址 修改Oracle SGA限制oxFFFFFFFFoxC0000000oxBF000000ox00000000共享内存段ox40000000 SGA ox50000000application codeshared librarieskernel stuffstack SGA max 1.75Gox10000000ox150000002.98GAS 2.1将Oracle SGA扩大到2.7G 0 xc0000000 (核心空间的基地址 3 GB)-0 x15000000 (SGA的基地址 336 MB)-0 xab000000(十进制约2.736 GB)-堆栈空间 -其它内存空间 -2.65到 2.70 GBAS 2.1将Oracle SGA扩大到2.7G 用root身份修改启动Oracle的进程基地址 echo 268435456 /proc/$pid/mapped_base 修改共享内存段 echo 3000000000 /proc/sys/kernel/shmmax 修改Oracle的SGA束缚地址 genksms-s 0 x15000000 ksms.s make-f ins_rdbms.mk ksms.o make-f ins_rdbms.mk ioracle AS 3.0将Oracle SGA扩大到3.7G 3+1内存管理只能到2.7G SGA 4+4内存管理可以到3.7G SGA OS基地址AS 3.0默认已经修改 只需要修改Oracle的SGA束缚地址 genksms-s 0 x15000000 ksms.s make-f ins_rdbms.mk ksms.o make-f ins_rdbms.mk ioracle取消大SGA内存修改 返回默认值 genksms ksms.s 重新编译 make-f ins_rdbms.mk ksms.o make-f ins_rdbms.mk ioracle AS 2.1上2.7G以上SGA支持 VLM技术 通过使用内存共享文件系统shmfs来实现 仅仅是对Oracle 92版本有效 不能使用9i的动态内存与多个块大小的特性 REDHAT 2.1 企业版核心 2.4.9-e.8 enterprise以上 AS 2.1上2.7G以上SGA支持 用root身份运行 mount-t shm shmfs-o size=7g/dev/shm 修改/etc/fstab自动挂装 shmfs/dev/shm shm size=7g 0 0 确保大页的支持,提高TLB命中率,防止被交换 增加bigpages=8200 MB 到lilo或grub.conf kernel/boot/vmlinuz-2.4.9-e.40smp ro root=/dev/hda2 hdc=ide-scsi bigpages=8100MB 看大页的信息/proc/meminfoAS 2.1上2.7G以上SGA支持 确保大页类型 echo 2 /proc/sys/kernel/shm-use-bigpages echo kernel.shm-use-bigpages=2 /etc/sysctl.conf 修改共享内存段 echo 4000000000 /proc/sys/kernel/shmmax 修改init参数 use_indirect_data_buffers=true db_block_buffers=850000AS 3.0上3.7G以上SGA支持 AS 3.0不支持大页,利用改进的ramfs内存文件系统 可以自动防止被交换与分页 创建共享文件系统,并放入到/etc/rc.local umount/dev/shm mount-t ramfs ramfs/dev/shm chown oracle:dba/dev/shmAS 3.0上3.7G以上SGA支持 为了防止错误 ORA-27103:internal error Linux Error:11:Resource temporarily unavailable 修改最大锁内存限制(ulimit l)因为3.0的ulimit l默认是4,为了容纳最大LVM window size(默认512M),可以设置限制为3G AS 3.0上3.7G以上SGA支持 修改/etc/security/limits.conf:oracle soft memlock 3145728 oracle hard memlock 3145728 如果是远程SSH连接 在/etc/init.d/sshd 的start中增加ulimit-l 3145728 在/etc/ssh/sshd_config 开启UseLogin yes 重新启动sshd服务,service sshd restartAS 3.0上3.7G以上SGA支持 修改共享内存段 echo 3700000000/proc/sys/kernel/shmmax 修改init参数 use_indirect_data_buffers=true db_block_buffers=850000AS 3.0上hugetlb 支持 Oracle 92版本,参考补丁3318884,10g默认 直接映射的地址空间(非VLM环境)页面由大的 TLB 条目支持,避免交换与分页 取ipcs 的shmmax值 转换为M的单位并增加一定冗余量 echo 计算值/proc/sys/vm/hugetlb_pool 动态修改 如果想启动生效,可以放入/etc/rc.loacl 生效信息可以从/proc/meminfo获得怎么样编译Linux内核 清除所有的临时文件、中间件和配置文件 make mrporper 进入到源码目录/usr/src/linux-2.4/启动编译菜单选项 make menuconfig 编译依赖关系 make dep 创建一个新的内核 make bzImage怎么样编译Linux内核 编译模块 make modules 安装模块 make modules install 安装内核 make install 清理工作 make clean Q&A谢谢大家演讲完毕,谢谢观看!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!