oracle linux 内核参数说明
- 格式:docx
- 大小:16.86 KB
- 文档页数:4
linux内核启用参数以Linux内核启用参数为标题的文章一、背景介绍Linux内核是操作系统的核心,负责管理计算机的硬件资源和提供系统调用接口。
在Linux系统中,通过启用不同的内核参数,可以对系统的行为进行调整和优化,以满足特定的需求和提高系统性能。
本文将介绍一些常用的Linux内核启用参数,并分析其作用和使用场景。
二、内核启用参数1. acpi=offACPI(高级配置与电源接口)是一种用于电源管理和设备配置的标准。
将acpi=off参数添加到内核启动参数中可以禁用ACPI功能。
在某些老旧的计算机硬件上,ACPI可能会导致系统崩溃或不稳定,此时可以使用该参数来解决问题。
2. nomodesetnomodeset参数用于禁用内核对显卡驱动的自动加载和切换。
在某些笔记本电脑或显卡驱动不兼容的情况下,系统可能无法正常启动或出现黑屏等问题。
使用nomodeset参数可以强制系统使用基本的VESA显卡驱动,以保证系统的稳定性。
3. noapicAPIC(高级可编程中断控制器)是用于管理中断信号的硬件设备。
在某些计算机上,APIC可能导致中断冲突或系统不稳定的问题。
通过添加noapic参数,可以禁用APIC功能,解决这些问题。
4. irqpollirqpoll参数用于解决某些计算机上的中断问题。
当系统无法正确识别硬件的中断信号时,会导致设备无法正常工作或系统崩溃。
通过添加irqpoll参数,系统会定期轮询中断信号,以确保中断的正确处理,提高系统的稳定性。
5. selinux=0SELinux(安全增强型Linux)是一种强制访问控制机制,用于提高系统的安全性。
但在某些情况下,SELinux可能导致系统的性能下降或应用程序无法正常运行。
通过将selinux=0参数添加到内核启动参数中,可以禁用SELinux功能,提高系统的运行效率。
6. mem=4Gmem参数用于限制系统可用的内存大小。
在某些情况下,系统可能无法正确识别或管理全部的内存容量,导致内存溢出或内存泄漏的问题。
linux内核启用参数Linux内核启用参数是指在Linux系统启动时,可以通过设置参数来改变内核的行为和配置。
这些参数可以通过修改启动脚本或者在引导时通过命令行参数传递给内核。
我们来介绍一些常用的Linux内核启用参数。
1. root:指定根文件系统所在的设备或分区。
在启动时,内核会将根文件系统挂载到这个设备上,成为系统的根目录。
可以使用设备名称(如/dev/sda1)或者UUID(Universally Unique Identifier)来指定。
2. init:指定系统初始化进程的路径。
这个进程是系统启动后的第一个用户空间进程,负责初始化系统环境、启动其他进程等。
一般情况下,它的路径是/bin/init。
3. quiet:禁用内核启动时的冗长输出信息。
默认情况下,内核会将启动过程中的详细信息输出到控制台上,使用quiet参数可以减少这些输出,使启动过程更加简洁。
4. vga:指定启动时的图形模式。
可以通过设置不同的参数值来改变显示分辨率和颜色深度。
例如,vga=791表示使用1024x768分辨率,颜色深度为16位。
5. acpi:启用或禁用ACPI(Advanced Configuration and PowerInterface)功能。
ACPI是一种能够管理电源、温度、风扇等硬件的标准,通过设置acpi参数,可以控制是否启用ACPI功能。
6. noapic:禁用APIC(Advanced Programmable Interrupt Controller)功能。
APIC是用于处理系统中断的硬件设备,通过设置noapic参数,可以禁用APIC功能,解决一些不兼容的硬件问题。
7. nomodeset:禁用内核对图形模式的自动设置。
有些显卡驱动在启动时可能会导致系统冻结或无法启动,通过设置nomodeset参数,可以强制内核使用基本的VGA模式运行。
8. mem:指定系统可用的物理内存大小。
Linux系统(X64)安装Oracle11g完整安装图⽂教程另附基本操作⼀、修改操作系统核⼼参数在Root⽤户下执⾏以下步骤:1)修改⽤户的SHELL的限制,修改/etc/security/limits.conf⽂件输⼊命令:vi /etc/security/limits.conf,按i键进⼊编辑模式,将下列内容加⼊该⽂件。
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536编辑完成后按Esc键,输⼊“:wq”存盘退出2)修改/etc/pam.d/login ⽂件,输⼊命令:vi /etc/pam.d/login,按i键进⼊编辑模式,将下列内容加⼊该⽂件。
session required /lib/security/pam_limits.sosession required pam_limits.so编辑完成后按Esc键,输⼊“:wq”存盘退出3)修改linux内核,修改/etc/sysctl.conf⽂件,输⼊命令: vi /etc/sysctl.conf ,按i键进⼊编辑模式,将下列内容加⼊该⽂件fs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576编辑完成后按Esc键,输⼊“:wq”存盘退出4)要使 /etc/sysctl.conf 更改⽴即⽣效,执⾏以下命令。
linux系统内核参数优化-linux快速⼊门教程内核的 shmall 和 shmmax 参数SHMMAX= 配置了最⼤的内存segment的⼤⼩ ------>这个设置的⽐SGA_MAX_SIZE⼤⽐较好。
SHMMIN= 最⼩的内存segment的⼤⼩SHMMNI= 整个系统的内存segment的总个数SHMSEG= 每个进程可以使⽤的内存segment的最⼤个数配置信号灯( semphore )的参数:SEMMSL= 每个semphore set⾥⾯的semphore数量 -----> 这个设置⼤于你的process的个数吧,否则你不得不分多个semphore set,好像有process+n之说,我忘了n是⼏了。
SEMMNI= 整个系统的semphore set总数SEMMNS=整个系统的semphore总数shmall 是全部允许使⽤的共享内存⼤⼩,shmmax 是单个段允许使⽤的⼤⼩。
这两个可以设置为内存的 90%。
例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的⼤⼩为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。
修改 /etc/sysctl.confkernel.shmmax=15461882265kernel.shmall=3774873kernel.msgmax=65535kernel.msgmnb=65535执⾏ sudo sysctl -p可以使⽤ ipcs -l 看结果。
ipcs -u 可以看到实际使⽤的情况========================================================================linux 内存管理⼀、前⾔本⽂档针对OOP8⽣产环境,具体优化策略需要根据实际情况进⾏调整;本⽂档将在以下⼏个⽅⾯来阐述如何针对RedHat Enterprise Linux 进⾏性能优化。
linux kernel 参数Linux内核参数是用于调整和控制Linux操作系统内核行为的设置。
这些参数可以在系统启动时通过启动脚本(如`init`进程)或在内核启动过程中通过命令行指定。
它们影响系统的性能、稳定性、安全性以及资源管理等方面。
内核参数可以分为几个大类:1. **进程管理**:例如,`max_map_count`限制了系统可以创建的最大文件映射数量,`nr_cpus`设置了系统中可用的CPU核心数。
2. **内存管理**:比如,`vm.swappiness`设置了系统倾向于使用交换空间的程度,`kmem.max`限制了内核可使用的最大内存量。
3. **文件系统**:`fs.file-max`设置了系统级别的文件描述符最大数量,`fs.aio-max-nr`限制了系统层面的异步I/O操作的最大数量。
4. **网络**:`net.ipv4.tcp_fin_timeout`设置了TCP连接中FIN包的超时时间,`net.ipv4.ip_local_port_range`定义了用于出口连接的本地端口范围。
5. **安全和稳定性**:`kernel.shmmax`和`kernel.shmall`限制了系统中的最大共享内存段和共享内存页的数量。
6. **虚拟化**:例如,`vm.dirty_ratio`和`vm.dirty_background_ratio`控制了内存中脏数据的最大比例和开始后台写入操作的比例。
这些参数可以通过编辑启动脚本(如`/etc/sysctl.conf`),使用`sysctl`命令实时调整,或者在引导时通过`init`系统的命令行接口设置。
正确地设置这些参数可以优化系统性能,适应特定的硬件资源和workload 需求。
不过,不当的设置也可能会导致系统不稳定或者其他问题。
因此,在调整内核参数时需要谨慎,并确保理解每个参数的作用。
oracle 资源配置参数(实用版)目录1.Oracle 简介2.Oracle 资源配置参数的作用3.Oracle 资源配置参数的分类4.Oracle 资源配置参数的具体设置方法5.Oracle 资源配置参数的优化建议正文一、Oracle 简介Oracle 是一款广泛应用于企业级数据管理的关系型数据库管理系统。
其性能优越、安全性高、可扩展性强,成为众多企业的首选数据库解决方案。
在 Oracle 数据库中,资源配置参数对于优化数据库性能至关重要。
二、Oracle 资源配置参数的作用Oracle 资源配置参数是用于调整数据库系统中各种资源的分配和优化的重要手段。
合理的资源配置可以提高数据库性能,降低系统故障率,保证数据的安全与稳定。
三、Oracle 资源配置参数的分类Oracle 资源配置参数主要分为以下几类:1.CPU 资源配置参数:用于调整数据库系统中 CPU 资源的分配,如CPU 使用率、I/O 使用率等。
2.内存资源配置参数:用于调整数据库系统中内存资源的分配,如SGA(共享内存区)、PGA(程序全局区)等。
3.存储资源配置参数:用于调整数据库系统中存储资源的分配,如数据文件、控制文件、日志文件等。
4.网络资源配置参数:用于调整数据库系统中网络资源的分配,如TCP 连接数、最大客户端连接数等。
四、Oracle 资源配置参数的具体设置方法1.CPU 资源配置参数设置:可以通过调整 Oracle 实例的 SGA 和PGA 参数,以及调整操作系统的资源分配来优化 CPU 资源配置。
2.内存资源配置参数设置:可以通过调整 SGA 和 PGA 的大小,以及调整操作系统的内存分配策略来优化内存资源配置。
3.存储资源配置参数设置:可以通过调整数据文件、控制文件和日志文件的大小,以及调整文件系统的磁盘空间分配来优化存储资源配置。
4.网络资源配置参数设置:可以通过调整 Oracle 实例的连接参数,以及调整操作系统的网络配置来优化网络资源配置。
kernel参数
Kernel参数是指操作系统内核的配置参数,通过调整这些参数可以优化系统性能和功能。
常用的kernel参数包括:
1. vm.swappiness:调整内存交换机制,取值范围为0~100,数值越低则越倾向于使用物理内存而不是交换空间。
2. net.core.somaxconn:调整TCP连接数,表示系统最大的socket连接数,取值范围为1~65535,默认128。
3. vm.overcommit_memory:调整内存申请机制,取值为0、1、2。
0表示按照实际内存大小申请,1表示允许超额申请,2表示禁止超额申请。
4. kernel.sem:调整系统信号量,包括semmsl(信号量集中信号量数)、semmns(系统可用信号量数)、semopm(每个操作最大信号量数)等。
5. kernel.shmmax和kernel.shmall:调整共享内存大小,分别表示单个共享内存段最大大小和系统共享内存大小。
6. fs.file-max:调整系统文件描述符限制,表示系统最大的文件描述符数,取值范围为1~1048576,默认值为65536。
7. net.ipv4.tcp_tw_recycle和net.ipv4.tcp_tw_reuse:调整TCP连接重用和回收机制,前者表示开启TCP连接重用,后者表示开启TCP连接回收。
通过合理配置这些kernel参数,可以提高系统的稳定性和性能。
但需要注意的是,修改kernel参数需要谨慎,并且不同操作系统的
参数配置可能略有不同,需要根据具体情况进行调整。
Linux操作系统修改内核参数的三种方法详细说明linux内核的参数设置怎么弄呢,Linux 操作系统修改内核参数有以下三种方式:修改 /etc/sysctl.conf 文件;在文件中加入配置项,格式为 key = value,保存修改后的文件,执行命令 sysctl -p 加载新配置。
使用 sysctl 命令临时修改;如:sysctl -w net.ipv4.tcp_mem = “379008 505344 758016”直接修改/proc/sys/ 目录中的文件。
如:echo “379008 505344 758016” 》 /proc/sys/net/ipv4/tcp_mem 注意:第一种方式在重启操作系统后自动永久生效;第二种和第三种方式在重启后失效。
内核参数kernel.core_uses_pi d = 1core_uses_pid 可以控制 core 文件的文件名中是否添加 pid 作为扩展名。
设置为1,表示添加 pid 作为扩展名,生成的 core 文件格式为core.xxx;设置为0(默认),表示生成的 core 文件统一命名为 core。
kernel.core_pat te rn = corecore_pattern 可以控制 core 文件的保存位置和文件格式。
如:kernel.core_pattern = “/corefile/core-%e-%p-%t”,表示将core 文件统一生成到 /corefile 目录下,产生的文件名为 core-命令名-pid-时间戳。
以下是参数列表:%p - insert pid into filename 添加 pid%u - insert current uid into filename 添加当前 uid%g - insert current gid into filename 添加当前 gid%s - insert signal that caused the coredump into the filename 添加导致产生 core 的信号%t - insert UNIX ti me that the coredump occurred into filename 添加 core 文件生成时的 unix 时间%h - insert hostname where the coredump happened into filename 添加主机名%e - insert coredumping executable name into filename 添加命令名kernel.msgmax = 8192进程间的消息传递是在内核的内存中进行的。
kernel参数
Kernel参数是指对操作系统内核进行配置的参数,用于调整系
统的运行方式和优化系统性能。
在Linux操作系统中,Kernel参数
通过/sys目录下的文件进行管理。
常见的Kernel参数包括:
1. swappiness:用于调整系统对内存和交换分区的使用比例,
范围为0-100,值越高表示系统倾向于使用交换分区。
2. vm.dirty_ratio和vm.dirty_background_ratio:用于控制
系统对内存脏数据的使用比例,前者表示脏数据达到总内存的多少时立即写入磁盘,后者表示系统在后台执行的写入操作占总内存的多少。
3. sysctl.conf:用于配置操作系统内核的参数,可以通过修改该文件中的参数值来调整系统行为。
4. net.ipv4.tcp_fin_timeout:用于控制TCP连接的超时时间,默认为60秒,可以根据需要调整。
5. net.ipv4.tcp_syncookies:用于开启SYN cookies防止DoS 攻击。
在调整Kernel参数时,需要注意不要过度调整,以免对系统性
能和稳定性造成不良影响。
同时,建议在修改Kernel参数前备份相
关文件,以便出现问题时恢复系统。
- 1 -。
一、下载 Oracle 10g 先详细说明一下我的环境,系统:虚拟机 Red Hat Enterprise Linux AS 5.4,数据库: Oracle Database 10g Release 2 (10.2.0.1)。
Oracle 去官方网站下载,点击前往下 载。
我下载下来的文件是 10201_database_linux32.zip。
二、安装 Oracle 10g 前的配置 其实 Linux 下安装 Oracle 10g 并不难,主要就是安装前的配置有点烦琐罢了。
不过不要 怕,安装过一两次你就会熟练了。
开始了,Follow me! 1、安装 Oracle 所需软件包 先用 rpm -qa | grep 命令查询软件包是否安装了,没有的话再用 rpm -ivh 命令进行安 装。
# 从 Red Hat Enterprise Linux AS5 光盘 1 cd /media/cdrom/Serverrpm -ivh setarch-2* rpm -ivh make-3* rpm -ivh glibc-2* rpm -ivh libaio-0*# 从 Red Hat Enterprise Linux AS5 光盘 2 cd /media/cdrom/Serverrpm -ivh compat-libstdc++-33-3* rpm -ivh compat-gcc-34-3* rpm -ivh compat-gcc-34-c++-3* rpm -ivh gcc-4* rpm -ivh libXp-1*# 从 Red Hat Enterprise Linux AS5 光盘 3 cd /media/cdrom/Serverrpm -ivh openmotif-2* rpm -ivh compat-db-4*2、修改系统版本 vi /etc/redhat-releaseredhat-4 #Red Hat Enterprise Linux Server release 5.4 (Tikanga)因 为 oracle 的 官 方 只 支 持 到 RHEL4 为 止 , 所 以 要 修 改 版 本 说 明 。
一、安装前的准备工作1、查看基本配置信息2、我的oracle10g的安装文件放在我的电脑D盘根目录下,将安装文件ftp到服务器(CLOS3)上传后的服务器目录(自动上传到ftp用户的根目录下)3、验证您的操作系统如果已经完成了操作系统的安装,您应该具备Oracle 10g所需的所有程序包和更新。
您可以执行以下步骤验证您的安装。
所需内核版本:2.4.9-e.25(或更高版本)其他所需程序包的版本(或更高版本):∙gcc-2.96-124∙make-3.79∙binutils-2.11∙openmotif-2.1.30-11∙glibc-2.2.4-31要查看系统上安装了这些程序包的哪些版本,运行以下命令:如果系统上缺少任何程序包版本,或版本比以上指定的版本旧,则可以从Red Hat Network 下载并安装更新。
要查看系统上安装了这些程序包的哪些版本,以root 用户身份运行以下命令:请注意,尚未安装compat-db 程序包。
安装过程中可用的任何程序包组均不包含此程序包,因此必须在单独的步骤中安装。
如果系统上缺少任何其他程序包版本,或版本比以上指定的版本旧(compat-db 除外),则可以从Red Hat Network 下载并安装更新。
二、针对oracle配置linux您需要针对Oracle 对其进行配置。
本部分将逐步讲解针对Oracle 数据库10g配置Linux 的过程验证系统要求要验证系统是否满足Oracle 10g数据库的最低要求,以root 用户身份登录并运行以下命令。
要查看可用RAM 和交换空间大小,运行以下命令:grep MemTotal /proc/meminfogrep SwapTotal /proc/meminfo所需最小RAM 为512MB,而所需最小交换空间为1GB。
对于RAM 小于或等于2GB 的系统,交换空间应为RAM 数量的两倍;对于RAM 大于2GB 的系统,交换空间应为RAM 数量的一到两倍。
1安装RedHat Enterprise Linu x 31.1 准备安装介质安装介质一共4张光盘(CD版),版本号为:2.4.21-27.ELsmp设置BIOS为光盘启动,放入第一张光盘即可。
进入到RedHat Enterprise Linux3(以下均简称为Linux)的启动界面,屏幕上出现[boot]字样,如果采用图形化方式安装,直接按回车继续,如果想采用命令行模式进行,输入“linux text”后回车,如有其他需要,按屏幕提示选择选项进行(比如安装SATA硬盘或网卡时可能需要先安装其驱动)。
1.2 安装过程1.欢迎界面,点击Next继续2.选择安装语言界面,可以选择“Chinese(Simplified)简体中文”,点击Next继续3.选择键盘界面,默认即可(U.S. English),点击“下一步”继续4.选择鼠标界面,默认即可(3键鼠标(USB)),点击“下一步”继续5.磁盘配置界面,选择“用Disk Druid手工分区”,点击“下一步”继续6.设置分区:(以下为160G硬盘)分区需注意:最多只能4个主分区,其中逻辑分区也是一个主分区,同时,还需要注意/t mp分区,建议系统有/tmp目录,因为很多软件在安装的时候都需要往此目录写文件,比如Oracle10g就要求/tmp目录有400M以上的空间。
设置好以后,点击“下一步”继续7.设置引导装载程序配置默认保留“Red Hat Enterprise Linux AS…”勾选框,点击“下一步”继续8.防火墙设置,选择“无防火墙”,点击“下一步”继续9.系统默认的语言设置,默认(Chinese (P.R. of China)),点击“下一步”继续10. 选择时区,默认,点击“下一步”继续11. 设置root用户密码,点击“下一步”继续12. 软件包组设置,选择“定制要安装的软件包集合”,点击“下一步”继续13. 选择要安装的软件包特别注意:在“遗留网络服务器”中的细节中,勾选“telnet”服务点击“下一步”继续14. 确认界面,点击“下一步”继续15. 等待安装首先会根据第6步的设置进行磁盘分区和格式化然后会根据第13步的设置进行软件安装,安装过程会提示换光盘进行,按提示进行16. 安装完成17. 设置图形化界面(X)配置,默认即可18. 设置显示器配置,默认即可19. 设置图形化配置,默认即可(如有需要,可以把登录类型改成“文本”)20. 配置完成,退出重启就可以了2配置RedHat Enterprise 32.1 安装网卡驱动有些机器的网卡可能在安装操作系统时就能自动安装好,因此安装好Linux系统以后,可以通过ifconfig来查看是否有eth0设备,如果只有lo设备,说明网卡驱动未成功。
Linux内核参数(如kernel.shmmax)及Oracle相关参数调整(如SGA我们一般在Linux 上安装设置Oracle 数据库或者在更换或升级硬件的时候都需要配置Linux 系统的核心参数, 然后才是调整Oracle 系统参数。
具体这些参数的实质意义是什么,为什么要做调整,如何合理调整?带着这些问题我们做以下的一些分析以及测试。
注意:以下的一些测试可能只适用于Linux 系统,且测试Linux 系统为64Bit,32Bit Linux 系统可能有不一样。
测试环境: Linux AS 4.0 U5 64Bit核心版本: 2.6.9-55.ELsmp #1 SMP x86_641. Linux 系统下的核心参数:[root@ECSDB etc]# cat sysctl.conf 或者到 /proc/sys/kernel 下查看。
kernel.shmall = 2097152kernel.shmmax = 8405194752kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 262144net.core.rmem_max = 262144net.core.wmem_default = 262144net.core.wmem_max = 262144----- 小技巧:修改/etc/sysctl.conf 文件之后立刻生效命令# sysctl -p2. Linux 下核心参数调整kernel.shmmax ----SHMMAX Available physical memory Defines the maximum allowable sizeof one shared memory segment. The SHMMAX setting should be large enoughto hold the entire SGA in one shared memory segment. A low setting cancause creation of multiple shared memory segments which may lead toperformance degradation.Shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。
一、介绍oracle shmmax计算的背景以oracle数据库为例,系统内存的规划对于数据库的性能起着至关重要的作用。
其中,shmmax参数是影响oracle数据库性能的一个关键因素。
shmmax参数用于定义Linux内核中共享内存段的最大大小。
正确设置shmmax参数可以有效地提高oracle数据库的性能,而错误的设置可能会导致数据库无法正常运行。
二、shmmax参数的计算公式shmmax的计算公式为:shmmax = HugePages_Total * Hugepagesize。
其中,HugePages_Total表示系统中HugePages 的总数,Hugepagesize表示每个HugePage的大小。
1. HugePages_Total的计算方法HugePages_Total的计算方法为:HugePages_Total = (系统总内存- 内核内存) / Hugepagesize。
系统总内存可以通过free命令或者/proc/meminfo文件来获取。
内核内存包括内核占用的内存、文件系统缓存等。
Hugepagesize可以通过查看/proc/meminfo文件或者使用getconf命令获取。
2. Hugepagesize的选择Hugepagesize的选择需要考虑系统中的内存大小、应用程序对内存的需求以及系统的硬件条件等因素。
一般来说,Hugepagesize应该选择一个合适的值,既能够满足应用程序对内存的需求,又不会浪费过多的内存资源。
通常,Hugepagesize的选择范围为2MB到1GB 之间。
三、shmmax计算公式的应用案例假设系统总内存为16GB,内核内存占用1GB,Hugepagesize为2MB,则:HugePages_Total = (16GB - 1GB) / 2MB = 7500。
如果Hugepagesize为1GB,则:HugePages_Total = (16GB - 1GB) / 1GB = 15。
Linux内核参数min_free_kbytes1. min_free_kbytes先看官⽅解释:This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a watermark[WMARK_MIN] value foreach lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size.Some minimal amount of memory is needed to satisfy PF_MEMALLOC allocations; if you set this to lower than 1024KB, your system will become subtlybroken, and prone to deadlock under high loads.Setting this too high will OOM your machine instantly.解释已经很清楚了,主要有以下⼏个关键点:1. 代表系统所保留空闲内存的最低限。
在系统初始化时会根据内存⼤⼩计算⼀个默认值,计算规则是:min_free_kbytes = sqrt(lowmem_kbytes * 16) = 4 * sqrt(lowmem_kbytes)(注:lowmem_kbytes即可认为是系统内存⼤⼩)另外,计算出来的值有最⼩最⼤限制,最⼩为128K,最⼤为64M。
可以看出,min_free_kbytes随着内存的增⼤不是线性增长,comments⾥提到了原因“because network bandwidth does not increase linearly with machinesize”。
Linux安装oracle11g内核参数修改vi /etc/sysctl.conffs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576vi /etc/security/limits.conforacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 4096oracle hard nofile 65536oracle soft stack 10240vi /etc/pam.d/loginsession required /lib/security/pam_limits.so session required pam_limits.sovi /etc/profileif [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifivi /home/oracle/.bash_profile // /home/oracle为oracle用户的家目录#Oracle SettingsTMP=/tmp; export TMPTMPDIR=$TMP; export TMPDIRORACLE_HOSTNAME=Lzy; export ORACLE_HOSTNAMEORACLE_UNQNAME=orcl; export ORACLE_UNQNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOMEORACLE_SID=orcl; export ORACLE_SIDPATH=/usr/sbin:$PATH; export PATHPATH=$ORACLE_HOME/bin:$PATH; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/j lib; export CLASSPATH安装完oracle11g之后随后远程登录linux服务器上,使用getsebool -a 可以查看bool 值相关设置信息,这里只需要更改ftp_home_dir 一项即可命令如下:setsebool -P ftp_home_dir 1再次使用getsebool -a查看发现 ftp_home_dir 显示为ON (图3)配置完成后,使用如下命令启动EM控制台:[oracle@oracle11g ~]$ emctl start dbconsole该命令的作用是查看EM工具是否已经安装配置,如果没有配置可以使用下面的命令来配置:[oracle@oracle11g ~]$ emctl start[oracle@oracle11g ~]$emca -config dbcontrol db -repos recreate。
linux下安装oracle11g详解不同于windows的图形化界面操作的便利,linux下安装oracle需要手工做很多的设置。
下面是我综合了网上的许多文章,并通过VMWare中的centos5.6下成功安装oracle11g R2的全部过程。
1、将下载的两个安装文件上传到linux环境中,oracle11g R2有两个压缩文件,linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip,直接使用upzip命令将两个压缩包都解压缩到database目录下面2、安装包检测和安装,在终端中执行命令rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat,显示结果如下vel sysstatgcc-4.1.2-42.el5make-3.81-3.el5binutils-2.17.50.0.6-6.el5setarch-2.0-1.1package compat-db is not installedpackage compat-gcc is not installedpackage compat-gcc-c++ is not installedpackage compat-libstdc++ is not installedpackage compat-libstdc++-devel is not installedunixODBC-2.2.11-7.1package unixODBC-devel is not installedpackage libaio-devel is not installedpackage sysstat is not installed分析:上面package 软件包is not installed 部分说明此软件包没有安装,您可以再光盘里面找,再用rpm -ivh 安装就行,这些包在centos安装盘中都用;或者直接用yum install 软件包来安装,具体操作如下:yum install compat-db安装成功Installed: compat-db.i386 0:4.2.52-5.1 Complete!yum install compat* (这个包比较多,要稍等一会,不急先抽根烟吧。
Linux内核参数-共享内存信号量semaphore设置共享内存:可以通过ipcs -lm命令查看目前系统共享内存的参数限制:# ipcs -lm—— Shared Memory Limits ——–max number of segments = 4096max seg size (kbytes) = 1048576max total shared memory (pages) = 2097152min seg size (bytes) = 1这里涉及到3个于共享内存相关的参数:SHMMAX,SHMMNI,SHMALLSHMMAX含义:单个共享内存段最大字节数设置:比SGA略大查看:cat /proc/sys/kernel/shmmax$ cat /proc/sys/kernel/shmmax1073741824修改:sysctl -w kernel.shmmax=1073741824echo “kernel.shmmax=1073741824″ >> /etc/sysctl.confSHMMNI含义:共享内存段最大个数设置:至少4096 查看:cat /proc/sys/kernel/shmmni# cat /proc/sys/kernel/shmmni4096修改:# sysctl -w kernel.shmmni=4096# echo “kernel.shmmni=4096″ >> /etc/sysctl.confSHMALL含义:系统中共享内存页总数设置:至少ceil(shmmax/PAGE_SIZE);ORACLE DOC 默认值:2097152*4096=8GB 查看:cat /proc/sys/kernel/shmall $ getconf PAGE_SIZE4096# cat /proc/sys/kernel/shmall2097152修改:# sysctl -w kernel.shmall=2097152# echo “kernel.shmall=2097152″ >> /etc/sysctl.conf信号量:当前系统信号量限制:oracle@lab-rd-01:~$ ipcs -ls—— Semaphore Limits ——–max number of arrays = 128max semaphores per array = 250max semaphores system wide = 32000max ops per semop call = 100SEMMSL含义:每个信号量set中信号量最大个数设置:最小250;对于processes参数设置较大的系统建议设置为processes+10 SEMMNI含义:linux系统信号量set最大个数设置:最少128SEMMNS含义:linux系统中信号量最大个数设置:至少32000;SEMMSL * SEMMNISEMOPM含义:semop系统调用允许的信号量最大个数设置:至少100;或者等于SEMMSL查看信号量设置:cat /proc/sys/kernel/semorder:SEMMSL, SEMMNS, SEMOPM, SEMMNIoracle@lab-rd-01:~$ cat /proc/sys/kernel/sem250 32000 100 128修改:sysctl -w kernel.sem=”250 32000 100 128″echo “kernel.sem=250 32000 100 128″ >> /etc/sysctl.conf修改完后,执行:sysctl -p。
linux 内核参数调整说明
所有的TCP/IP调优参数都位于/proc/sys/net/目录。
例如, 下面是最重要的一些调优参数, 后面是它们的含义:
1. /proc/sys/net/core/rmem_max —最大的TCP数据接收缓冲。
2. /proc/sys/net/core/wmem_max —最大的TCP数据发送缓冲。
3. /proc/sys/net/ipv4/tcp_timestamps —时间戳在(请参考RFC 1323)TCP的包头增加12个字节。
4. /proc/sys/net/ipv4/tcp_sack —有选择的应答。
5. /proc/sys/net/ipv4/tcp_window_scaling —支持更大的TCP窗口. 如果TCP窗口最大超过65535(64KB), 必须设置该数值为1。
6. rmem_default —默认的接收窗口大小。
7. rmem_max —接收窗口的最大大小。
8. wmem_default —默认的发送窗口大小。
9. wmem_max —发送窗口的最大大小。
/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。
建议在系统启动时自动修改TCP/IP参数:
把下面代码增加到/etc/rc.local文件, 然后保存文件, 系统重新引导的时候会自动修改下面的TCP/IP参数:
echo 256960 > /proc/sys/net/core/rmem_default
echo 256960 > /proc/sys/net/core/rmem_max
echo 256960 > /proc/sys/net/core/wmem_default
echo 256960 > /proc/sys/net/core/wmem_max
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
TCP/IP参数都是自解释的, TCP窗口大小设置为256960, 禁止TCP的时间戳(取消在每个数据包的头中增加12字节), 支持更大的TCP窗口和TCP有选择的应答。
上面数值的设定是根据互连网连接和最大带宽/延迟率来决定。
注: 上面实例中的数值可以实际应用, 但它只包含了一部分参数。
另外一个方法: 使用/etc/sysctl.conf 在系统启动时把参数配置成您所设置的值:
net.core.rmem_default = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.wmem_max = 256960
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack =1
net.ipv4.tcp_window_scaling = 1
设置Linux内核参数
配置 Linux 内核参数(2种方法),修改后不用重启动更新: /sbin/sysctl -p
第一种:打开/etc/sysctl.conf 复制如下内容
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
第二种:打开终端
cat >> /etc/sysctl.conf<
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
这里,对每个参数值做个简要的解释和说明。
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。
缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。
该参数的默认值是 4096 。
通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。
缺省值就是2097152,通常不需要修改。
(4)sem:该参数表示设置的信号量。
(5)file-max:该参数表示文件句柄的最大数量。
文件句柄设置表示在linux系统中可以打开的文件数量。
修改好内核以后,执行下面的命令使新的配置生效。
[root @linux1 /root]# /sbin/sysctl -p
以 root 用户身份运行以下命令来验证您的设置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。
完成后,运行以下命令激活更改:
/sbin/sysctl -p。