0

0

Linux 内核参数优化(for Oracle)

php中文网

php中文网

发布时间:2016-06-07 17:27:57

|

1381人浏览过

|

来源于php中文网

原创

Oracle 不同平台的数据库安装指导为我们部署Oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非

oracle 不同平台的数据库安装指导为我们部署oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非能完全满足不同的需求。使用不同的操作系统内核参数将使得数据库性能相差甚远。本文描述了linux下几个主要内核参数的设置,供参考。


1、Linux共享内存
  共享内存是在系统内核分配的一块缓冲区,多个进程都可以访问该缓冲区。
  由于进程可以直接读写内存,避免了在内核空间与用户空间的切换,所以共享内存读写效率很高。
  当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。共享内存类似与windows环境编程中的内存映像文件。

  Linux的IPC(Interprocess Communication)通信机制:是指多个进程之间相互通信,交换信息的方法。
  通过使用共享内存允许两个或多个进程共享一定的存储区,因为不需要拷贝数据。
  Oracle SGA即是基于此方式来实现Oracle进程之间数据共享。因此SGA的合理设置对Oracle性能有重大的影响。
  可以通过ipcs -lm来查看所有的共享内存设置。

 

2、参数修改的方式
  由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。
    但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数。
  如果是临时修改,则可以采用echo或sysctl -w方式,如果永久修改,,建议修改sysctl.conf文件
  下面是几种参数修改方式的描述
  a、echo 方式
    echo >  
    将值输出到文件,该方式使得内核参数修改立即生效,无需重启系统,但重启后失效(以sysctl.conf永久配置文件为准)
  b、sysctl 命令方式   
    sysctl -w =
    使用sysctl 命令行方式是修改的运行时的内核参数,参数值当重启后失效,同上
  c、永久性更改
    vi /etc/sysctl.conf  #直接修改对应参数的值,然后执行命令使更改立即生效# sysctl -p
    echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf  #不太建议该方式,这样子同一参数会有多个值出现在sysctl.conf

 

3、sysctl.conf配置文件
  几乎所有的重要参数都保持在sysctl.conf配置文件中,因此对于永久性修改,直接修改该文件是最简单不过的方式了
  下面是基于x86_64 RHEL5 下Oracle 给出的参数建议值

  Oracle10gR2 On RHEL 5/OEL 5 (x86_64) [ID 421308.1]
    kernel.shmall = physical RAM size / pagesize
      For most systems, this will be the value 2097152. See Note 301830.1 for more information.
    kernel.shmmax = 1/2 of physical RAM.
      This would be the value 2147483648 for a system with 4Gb of physical RAM. See Note 567506.1 for more information.
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 512 x processes (for example 65536 for 128 processes)
    Development recommends a minimum of 327679 for active systems.
    net.ipv4.ip_local_port_range = 9000 65500
    (The runInstaller (OUI) checks may expect this to be the old guidance of 1024 65000.
    The new guidance from Oracle development is 9000 65500.
    Please allow the runInstaller (OUI) to proceed with the new guidance from Oracle development.)
    net.core.rmem_default = 262144
    net.core.rmem_max = 2097152
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
 
  Oralce 11g R2 on RHEL (and OEL) 5 on AMD64/EM64T [ID 880989.1]   
    kernel.shmall = physical RAM size / pagesize
      For most systems, this will be the value 2097152. See Note 301830.1 for more information.
      kernel.shmmax = 1/2 of physical RAM.
        This would be the value 2147483648 for a system with 4Gb of physical RAM.
      kernel.shmmni = 4096
      kernel.sem = 250 32000 100 128
      fs.file-max = 512 x processes (for example 6815744 for 13312 processes)
      fs.aio-max-nr = 1048576
      net.ipv4.ip_local_port_range = 9000 65500
      net.core.rmem_default = 262144
      net.core.rmem_max = 4194304
      net.core.wmem_default = 262144
      net.core.wmem_max = 1048576
 
  对于Oracle 11g,Oracle建议如果系统当前设置的值大于上述列出的值,则无需修改,保留原值。
  从上面可知,sysctl.conf包含了所有的内核参数文件,且以kernel开头,下面对这几个重要参数进行逐一描述。

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

33

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

32

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

36

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

7

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

11

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3.2万人学习

Webpack4.x---十天技能课堂
Webpack4.x---十天技能课堂

共20课时 | 1.4万人学习

Bootstrap4.x---十天精品课堂
Bootstrap4.x---十天精品课堂

共22课时 | 1.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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